5.4에서는 PHP 버전 특성이 PHP 객체 지향 프로그래밍에 도입되었습니다. 특성은 클래스와 비슷하지만 세분화되고 신뢰할 수 있는 방식으로 메서드를 그룹화하기 위한 것입니다. 특성을 자체적으로 인스턴스화하는 것은 허용되지 않습니다. 단일 상속의 문제를 극복하기 위해 특성이 PHP 5.4에 도입되었습니다. 단일 상속 클래스에서 알 수 있듯이 다른 단일 클래스에서만 상속할 수 있습니다. 특성의 경우 개발자가 여러 클래스 계층 구조에 있는 여러 독립 클래스에서 메서드 집합을 자유롭게 재사용할 수 있습니다.
예시
<?php trait Reader{ public function add($var1,$var2){ return $var1+$var2; } } trait writer { public function multiplication($var1,$var2){ return $var1*$var2; } } class File { use Reader; use writer; public function calculate($var1,$var2){ echo "Ressult of addition:".$this->add($var1,$var2) ."\n"; echo "Ressult of multiplication:".$this->multiplication($var1,$var2); } } $o = new File(); $o->calculate(5,3); ?>
출력
Result of addition two numbers:8 Result of multiplication of two numbers:15
설명
위의 예에서 우리는 단일 클래스의 두 특성에서 함수를 구현했습니다. 특성으로 인해 단일 클래스에서 여러 기능에 액세스할 수 있습니다.
참고
클래스 내부의 특성에 액세스하기 위해 "USE" 키워드를 사용하고 있습니다.