Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

Traits ใน PHP คืออะไร?


ใน PHP เวอร์ชัน 5.4 ได้นำเสนอ Trait เข้ามาในการเขียนโปรแกรมเชิงวัตถุ (OOP) Trait คล้ายกับคลาส (Class) แต่ใช้เพื่อจัดกลุ่มเมธอด (Methods) แบบละเอียดและน่าเชื่อถือเท่านั้น ไม่สามารถสร้างอินสแตนซ์ของ Trait ได้โดยตรง Traits ถูกนำเข้ามาใน PHP 5.4 เพื่อแก้ปัญหาของการสืบทอดเดี่ยว (Single Inheritance) เนื่องจากในการสืบทอดเดี่ยว คลาสสามารถสืบทอดจากคลาสอื่นได้เพียงคลาสเดียวเท่านั้น ในกรณีของ Trait ช่วยให้นักพัฒนาสามารถนำชุดเมธอดไปใช้ซ้ำในหลายคลาสอิสระที่อยู่ในลำดับชั้นคลาสที่ต่างกันได้

ตัวอย่าง

<?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 "Result of addition:".$this->add($var1,$var2) ."\n"; 
        echo "Result 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

คำอธิบาย

ในตัวอย่างข้างต้น เราได้นำเมธอดจากสอง Trait มาใช้ในคลาสเดียว เนื่องจาก Trait เราจึงสามารถเข้าถึงหลายเมธอดในคลาสเดียวได้

หมายเหตุ

ใช้คีย์เวิร์ด "USE" เพื่อเข้าถึง Trait ภายในคลาส