(Yaf >=1.0.0)
Yaf_Controller_Abstract é o coração do sustema do Yaf. MVC é o acrônimo para (Modelo-Visualizador-Controlador) e é um padrão de projeto cujo objetivo é separar a lógica da aplicação da lógica da exibição.
Todo controlador customizado deve herdar Yaf_Controller_Abstract.
A função __construct não pode ser definida no controlador customizado. Por isso, Yaf_Controller_Abstract fornece um método mágico: Yaf_Controller_Abstract::init().
Se um método init() for definido no controlador customizado, ele será chamado assim que o controlador for instanciado.
A ação pode ter argumentos, quando uma solicitação chega, se houver a variável de mesmo nome nos parâmetros da solicitação (veja Yaf_Request_Abstract::getParam()). Depois de roteada, Yaf irá passá-los para o método de ação (veja Yaf_Action_Abstract::execute()).
Nota:
Esses argumentos são obtidos diretamente sem filtragem, devem ser cuidadosamente processados antes de serem usados.
Um método de ação também pode ser definido em um script PHP separado usando esta propriedade e Yaf_Action_Abstract.
Exemplo #1 Definindo ação em um arquivo separado
<?php
class IndexController extends Yaf_Controller_Abstract {
protected $actions = array(
/** agora dummyAction está definida em um arquivo separado */
"dummy" => "actions/Dummy_action.php",
);
/* o método de ação pode ter argumentos */
public function indexAction($name, $id) {
/* $name e $id são dados brutos inseguros */
assert($name == $this->getRequest()->getParam("name"));
assert($id == $this->_request->getParam("id"));
}
}
?>
Exemplo #2 Dummy_action.php
<?php
class DummyAction extends Yaf_Action_Abstract {
/* uma classe de ação deve definir este método como o ponto de entrada */
public function execute() {
}
}
?>
Nome do módulo.
Nome do controlador.
Objeto da requisição atual.
Objeto da resposta atual.
Objeto do mecanismo de visualização.