Ключова дума trait
Ключовата дума trait се използва за създаване на трейтове - механизъм за повторно използване на код в PHP. Трейтовете приличат на класове, но са предназначени за групиране на функционалност в малки и разбираеми единици. Те могат да се включват в класове с помощта на ключовата дума use.
Синтаксис
trait TraitName {
// свойства и методи на трейта
public function method1() {
// реализация
}
}
Пример
Нека създадем прост трейт и го включим в клас:
<?php
trait Logger {
public function log($message) {
echo "Logging: " . $message;
}
}
class User {
use Logger;
}
$user = new User();
$user->log("User created");
?>
Резултат от изпълнението на кода:
'Logging: User created'
Пример
Един клас може да използва няколко трейта едновременно:
<?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'