Attribut Template
1Présentation
L'attribut \Temma\Attributes\Template permet de définir le chemin vers le fichier de template à utiliser pour un contrôleur ou une action.
2Paramètres
L'attribut propose deux paramètres :
-
$template : (null|string) Chemin vers le fichier de template à utiliser.
Équivalent à la méthode _template() des contrôleurs.
Ce paramètre peut prendre explicitement la valeur null, et dans ce cas c'est la valeur par défaut (controller/action.tpl) qui est utilisée.
-
$prefix : (null|string) Préfixe à ajouter au chemin du template qui sera utilisé.
Équivalent à la méthode _templatePrefix() des contrôleurs.
Ce paramètre peut prendre explicitement la valeur null, et dans ce cas le préfixe de template sera remis à zéro.
3Exemples
Pour que toutes les actions d'un contrôleur utilisent le même template :
use \Temma\Attributes\Template as TµTemplate;
#[TµTemplate('myController/index.tpl')]
class MyController extends \Temma\Web\Controller {
// ...
}
Pour qu'une action spécifique utilise le template défini :
use \Temma\Attributes\Template as TµTemplate;
class MyController extends \Temma\Web\Controller {
#[TµTemplate('otherController/someAction.tpl')]
public function myAction() {
// ...
}
}
Pour ajouter un préfixe aux templates de toutes les actions d'un contrôleur :
use \Temma\Attributes\Template as TµTemplate;
#[TµTemplate(prefix: 'special')]
class MyController extends \Temma\Web\Controller {
// utilise le template "special/myController/myAction.tpl"
public function myAction() {
// ...
}
// utilise le template "special/index.tpl"
#[TµTemplate('index.tpl')]
public function action2() {
// ...
}
// utilise le template "myController/action3.tpl"
#[TµTemplate(prefix: null)]
public function action3() {
// ...
}
}