ในเวอร์ชัน 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" เพื่อเข้าถึงคุณลักษณะภายในคลาส