Trait-avainsana
Avainsanaa trait käytetään traitien luomiseen - mekanismi koodin uudelleenkäyttöön PHP:ssä. Traitit muistuttavat luokkia, mutta ne on tarkoitettu toiminnallisuuden ryhmittämiseen pieniin ja ymmärrettäviin yksiköihin. Ne voidaan liittää luokkiin käyttämällä avainsanaa use.
Syntaksi
trait TraitName {
// traitin ominaisuudet ja metodit
public function method1() {
// toteutus
}
}
Esimerkki
Luodaan yksinkertainen trait ja liitetään se luokkaan:
<?php
trait Logger {
public function log($message) {
echo "Lokitus: " . $message;
}
}
class User {
use Logger;
}
$user = new User();
$user->log("Käyttäjä luotu");
?>
Koodin suorituksen tulos:
'Lokitus: Käyttäjä luotu'
Esimerkki
Luokka voi käyttää useita traiteja samanaikaisesti:
<?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();
?>
Koodin suorituksen tulos:
'2023-11-15 14:30:00'