Từ khóa trait
Từ khóa trait được sử dụng để tạo trait - một cơ chế tái sử dụng code trong PHP. Trait tương tự như lớp, nhưng được thiết kế để nhóm chức năng thành các đơn vị nhỏ và dễ hiểu. Chúng có thể được kết nối vào các lớp bằng từ khóa use.
Cú pháp
trait TraitName {
// thuộc tính và phương thức của trait
public function method1() {
// triển khai
}
}
Ví dụ
Hãy tạo một trait đơn giản và kết nối nó vào một lớp:
<?php
trait Logger {
public function log($message) {
echo "Logging: " . $message;
}
}
class User {
use Logger;
}
$user = new User();
$user->log("User created");
?>
Kết quả thực thi code:
'Logging: User created'
Ví dụ
Một lớp có thể sử dụng nhiều trait cùng lúc:
<?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();
?>
Kết quả thực thi code:
'2023-11-15 14:30:00'