Atributo Template


1Apresentação

O atributo \Temma\Attributes\Template define o caminho do arquivo de template a ser usado por um controlador ou ação.


2Parâmetros

O atributo oferece dois parâmetros:

  • $template: (null|string) Caminho do arquivo de template a ser usado.

    Equivalente ao método _template() nos controladores.

    Esse parâmetro pode ser definido explicitamente como null; nesse caso, o valor padrão (controller/action.tpl) é usado.

  • $prefix: (null|string) Prefixo a ser adicionado ao caminho do template a ser usado.

    Equivalente ao método _templatePrefix() nos controladores.

    Esse parâmetro pode ser definido explicitamente como null; nesse caso, o prefixo do template será redefinido.


3Exemplos

Para garantir que todas as ações do controlador usem o mesmo template:

use \Temma\Attributes\Template as TµTemplate;

#[TµTemplate('myController/index.tpl')]
class MyController extends \Temma\Web\Controller {
    // ...
}

Para que uma ação específica use o template definido:

use \Temma\Attributes\Template as TµTemplate;

class MyController extends \Temma\Web\Controller {
    #[TµTemplate('otherController/someAction.tpl')]
    public function myAction() {
        // ...
    }
}

Para adicionar um prefixo aos templates de todas as ações do controlador:

use \Temma\Attributes\Template as TµTemplate;

#[TµTemplate(prefix: 'special')]
class MyController extends \Temma\Web\Controller {
    // usa o template "special/myController/myAction.tpl"
    public function myAction() {
        // ...
    }

    // usa o template "special/index.tpl"
    #[TµTemplate('index.tpl')]
    public function action2() {
        // ...
    }

    // usa o template "myController/action3.tpl"
    #[TµTemplate(prefix: null)]
    public function action3() {
        // ...
    }
}