Backend PHP (BPH) Help

Les traits

En PHP, les trait sont des portions de code, qui sont réutilisables par plusieurs classes.

Pour déclarer un trait :

trait SayHello { public function greet(string $name) : string { return "Hello $name!" } }

Pour l'utiliser dans une classe on utilise le mot clé use:

class Character { use SayHello; // ... }

Un cas d'application pratique : un trait qui permet de debug une classe :

trait Debug { public function print() : void { // ici on récupère toutes les méthodes d'une classe $methods = get_class_methods($this); // je parcours toutes les méthodes foreach($methods as $method) { // je vérifie si le nom de la méthode contient le mot get if(str_contains($method, "get")) { // j'echo le retour de la méthode echo $this->$method() . "<br>"; } } } }

Je l'utilise dans ma classe :

class Test { // j'utilise mon trait use Debug; public function __construct(private string $firstName, private string $lastName) { } public function getFirstName() : string { return $this->firstName; } public function setFirstName(string $firstName) : void { $this->firstName = $firstName; } public function getLastName() : string { return $this->lastName; } public function setLastName(string $lastName) : void { $this->lastName = $lastName; } }

Et quand je teste :

$test = new Test("Mari", "Doucet"); $test->print(); // Mari // Doucet

Et ce trait peut être use par n'importe quelle classe que je crée du moment que je nomme bien mes getters.

28 November 2025