Un json builder avec des paramètres obligatoire

Eléphant du PHP | 373 Messages

30 juin 2021, 15:47

Bonjour à tous,

Petite question s'il vous plaît?

Pour le pattern builder pour générer un json. Exemple une méthode généère une propriété et ainsi de suite.
Par contre est-il possible de rendre une méthode obligatoire avant le build?
Exemple je build une maison mais je veux que pour le build le buildVitre et buildPorte sinon erreur.

merci

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

08 juil. 2021, 22:29

Salut,

oui il faut gérer cela dans la méthode "build" afin de vérifier que tout les entrants requis soit la.

$maison->addFenetre($f1)
->addFenetre($f2)
->addPorte($p1)
->addCave(new Cave())
->build();

"build"
public function build() {
if(empty($this->porte) ou empty($this->fenetre)) {
throw new TonExceptionMetier('Champ requis non fournit');
}
// ici la génération du json
return json_encode($this);
}


@+
Il en faut peu pour être heureux ......