A trait kulcsszó
A trait kulcsszó trait-ok létrehozására szolgál - egy mechanizmus a kód újrafelhasználására a PHP-ban. A trait-ok hasonlóak az osztályokhoz, de a funkcionalitás kisméretű és érthető egységekbe csoportosítására tervezték. A use kulcsszóval csatolhatók osztályokhoz.
Szintaxis
trait TraitName {
// a trait tulajdonságai és metódusai
public function method1() {
// implementáció
}
}
Példa
Hozzunk létre egy egyszerű trait-ot és csatoljuk egy osztályhoz:
<?php
trait Logger {
public function log($message) {
echo "Naplózás: " . $message;
}
}
class User {
use Logger;
}
$user = new User();
$user->log("Felhasználó létrehozva");
?>
A kód végrehajtásának eredménye:
'Naplózás: Felhasználó létrehozva'
Példa
Egy osztály egyszerre több trait-ot is használhat:
<?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();
?>
A kód végrehajtásának eredménye:
'2023-11-15 14:30:00'