หลาย Traits ใน OOP ของ PHP
ในคลาสสามารถใช้งานได้ไม่เพียงหนึ่ง แต่หลาย traits นี่คือสิ่งที่แสดงถึงข้อได้เปรียบของพวกมันเมื่อเทียบกับการสืบทอด traits ที่ต้องการใช้ในคลาสสามารถระบุได้โดยคั่นด้วยเครื่องหมายจุลหลังคำหลัก use
ลองดูตัวอย่าง สมมติว่าเรามีสอง traits ตัวแรก:
<?php
trait Helper1
{
private $name;
public function getName()
{
return $this->name;
}
}
?>
ตัวที่สอง:
<?php
trait Helper2
{
private $age;
public function getAge()
{
return $this->age;
}
}
?>
มาใช้ traits ของเราในคลาส:
<?php
class User
{
use Helper1, Helper2; // เชื่อมต่อ traits
public function __construct($name, $age)
{
$this->name = $name;
$this->age = $age;
}
}
?>
สร้าง 3 traits โดยมีชื่อว่า Trait1,
Trait2 และ Trait3 ให้ใน trait แรก
มีเมธอด method1 ที่คืนค่า
1, ใน trait ที่สอง - เมธอด method2,
ที่คืนค่า 2 และใน trait ที่สาม
- เมธอด method3 ที่คืนค่า 3
ให้เมธอดทั้งหมดเหล่านี้เป็นแบบ private
สร้างคลาส Test ที่ใช้
traits ทั้งสามที่เราสร้างขึ้นทั้งหมด สร้าง
ในคลาสนี้เมธอดสาธารณะ getSum
ที่คืนค่าผลรวมของผลลัพธ์จากเมธอดของ traits ที่เชื่อมต่อ