Traits ใน PHP คือชุดคำสั่งที่เราสามารถนำไปใช้ซ้ำใน Class พูดง่ายๆ โดยปกติใน Class เราจะมี Medthod แต่อันนี้ เราไม่ต้องมี Mothod เราจะนำ Traits ไปใช้ใน Method แทน ทำให้ถ้า Class ไหนอยากได้ความสามารถของ Traits นั้น ก็สามารถนำไปใช้ได้เลย
การสร้าง Traits
การสร้าง Traits ก็ง่ายมาก แค่เขียนคำสั่ง trait
ตามด้วยชื่อ Traits ที่เราต้องการ
trait Human {
public function walk() {
echo "I can walk";
}
}
trait SuperHuman {
public function fly() {
echo "I can fly";
}
}
การนำ Traits ไปใช้
เราสามารถนำ Traits ไปใช้ได้โดยการเขียนคำสั่ง use
ตามด้วยชื่อ Traits ที่เราต้องการ
class Person {
use Human;
use SuperHuman;
}
ลองใช้งาน
$person = new Person();
$person->walk(); // I can walk
$person->fly(); // I can fly
ทีนี้ถ้าเราสร้าง Class ขึ้นมาอีกอันนึง เราก็สามารถเอา Traits ไปใช้ได้เลย ทำให้เราไม่ต้องเขียน Method ซ้ำๆ กัน ซึ่งเป็นการทำให้โค้ดของเราสั้นลง และง่ายต่อการจัดการด้วย