คีย์เวิร์ด trait
คีย์เวิร์ด trait ใช้สำหรับสร้าง traits - กลไกการนำโค้ดกลับมาใช้ซ้ำใน PHP Traits มีความคล้ายคลึงกับคลases แต่มีจุดประสงค์เพื่อจัดกลุ่มฟังก์ชันการทำงานให้เป็นหน่วยย่อยๆ ที่กระชับและเข้าใจง่าย สามารถนำไปใช้ในคลาสได้ด้วยคีย์เวิร์ด use
ไวยากรณ์
trait TraitName {
// คุณสมบัติและเมธอดของ trait
public function method1() {
// การนำไปใช้
}
}
ตัวอย่าง
มาสร้าง trait อย่างง่ายและนำไปใช้ในคลาส:
<?php
trait Logger {
public function log($message) {
echo "Logging: " . $message;
}
}
class User {
use Logger;
}
$user = new User();
$user->log("User created");
?>
ผลลัพธ์จากการรันโค้ด:
'Logging: User created'
ตัวอย่าง
คลาสสามารถใช้หลาย traits พร้อมกันได้:
<?php
trait Timestamp {
public function getCurrentTime() {
return date('Y-m-d H:i:s');
}
}
trait Serializer {
public function toJson($data) {
return json_encode($data);
}
}
class Product {
use Timestamp, Serializer;
}
$product = new Product();
echo $product->getCurrentTime();
?>
ผลลัพธ์จากการรันโค้ด:
'2023-11-15 14:30:00'