자유게시판

제목 PHP의 trait 키워드를 아시나요?
글쓴이 한대승(불의회상) 작성시각 2015/02/10 17:14:00
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 13003   RSS
한대승(불의회상)
PHP 5.4버젼부터 지원하는 기능 입니다.
알아두면 써 먹을데가 많을것 같습니다.

갈수록 내가 알던 PHP와 멀어지는 느낌입니다. ㅎㅎㅎ (웃는게 웃는게 아니네요...)
http://php.net/manual/en/language.oop5.traits.php
trait Hello {
    public function sayHello() {
        echo 'Hello ';
    }
}

trait World {
    public function sayWorld() {
        echo 'World';
    }
}

class MyHelloWorld {
    use Hello, World;
    public function sayExclamationMark() {
        echo '!';
    }
}

$o = new MyHelloWorld();
$o->sayHello();
$o->sayWorld();
$o->sayExclamationMark();

// 결과 : Hello World!

 다음글 CI 2.X 버전을 써야할까요? 3.X 버전을 써야할까... (2)
 이전글 올해는 13일의 금요일이 3번이나... (3)

댓글

변종원(웅파) / 2015/02/10 22:36:07 / 추천 0
그넘이 그넘 아닌가요? ㅎㅎ
뭔가 다른 효용이 있는건지..

음.. 동일한 함수명 사용가능?
한대승(불의회상) / 2015/02/11 09:58:00 / 추천 0
그넘이 그넘이 아니라 MyHelloWorld class 내부에 Hello, World 특성이 include 한 것처럼 추가 되었어요.
각 Class별 공통 특성을 정의하고 여러 클래스가 가져다 쓸수 있게 된거죠.

예전에는 상속을 통해서만 가능했던 건데 말이죠.. ^^
유마 / 2015/02/11 17:28:48 / 추천 0
공통 모듈은 하나로 빼두고 어느 클래스든 불러서 써먹으면 되겠군요... 어떻게 보면 편리하네요.
테러보이 / 2015/02/12 13:06:27 / 추천 0
회사에서는 php5.2를 사용하는지라 ㅎㅎㅎ