[Syntaxe POO] Méthode en cascade
Bonjour,
Je vais poser une question de débutant, mais il se trouve que je n'ai pas réussi à trouver de réponses malgré mes recherches.
Dans Symfony, j'ai trouvé cette syntaxe :
Code:
1 2 3 4 5 6
| <?php
class trucController extends Controller
{
$request = $this->getRequest();
$tag = $request->query->get('tag');
} |
Je parle de la ligne $request->query->get('tag').
Je souhaiterais pouvoir faire la même chose, car je trouve que ça rend le code relativement intuitif. Par exemple :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <?php
$Template = new Template();
$Template
->layout('global-layout.html')
->addScript(array
'jquery', 'jqueryui', 'personal-script'
))
->replaceVar(array(
'variable' => $variable
));
$Template
->layout('diaporama.html')
->replaceVar(array(
))
->datas2layout(
$bdd->query('SELECT * FROM `diaporama` WHERE `id` = 2')
);
$Template->render(); |
Toutes les méthodes (addScript, replaceVar, datas2layout, etc.) s'appliquent sur respectivement layout('global-layout.html') et sur layout('diaporama.html').
Seulement, je ne sais pas trop comment construire ma classe pour que cela puisse fonctionner ainsi. J'imagine que je dois retourner $this dans ma méthode, mais encore ? Y a-t-il des pratiques conseillées à ce niveau ?
Dois-je faire une classe par layout et ensuite donner ladite classe comme argument à une méthode appartenant à Template ?
Merci pour vos conseils.