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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.