La clase Yaf_Controller_Abstract
(Yaf >=1.0.0)
Introducción
Yaf_Controller_Abstract es el corazón del sistema de Yaf. MVC significa Modelo Vista Controlador (Model-View-Controller en inglés) y es un patrón de diseño cuyo objetivo es separa la lógica de aplicación de la lógica de vista.
Cada controlador personalizado heredará de la clase Yaf_Controller_Abstract.
Se encontrará con que no se pude definir la función __construct en los controladores personalizados, y por esto Yaf_Controller_Abstract proporciona un método mágico: Yaf_Controller_Abstract::init()().
Si se ha definido un método init() en el controlador personalizado, será llamado en cuanto el controlador se instancie.
Las acciones pueden tener argumentos, al hacerle una petición, si en los parámetros de la petición existen los mismos nombres de variables (véase Yaf_Request_Abstract::getParam()) después del enrutamiento, Yaf los pasará al método de acción (véase Yaf_Action_Abstract::execute()).
Nota:
Estos argumentos se obtienen directamente sin filtración, se deberían porcesar con cuidado antes de usarlos.
Sinopsis de la Clase
Propiedades
- actions
-
También se puede definir un método de acción en un script de PHP por separado usando esta propiedad y la clase Yaf_Action_Abstract.
Ejemplo #1 Definir una acción en un fichero aparte
<?php
class IndexController extends Yaf_Controller_Abstract {
protected $acciones = array(
/** ahora dummyAction está definida en un fichero aparte */
"dummy" => "actions/Dummy_action.php",
);
/* el método de acción puede tener argumentos */
public indexAction($nombre, $id) {
/* $name e $id son datos no seguros sin tratar */
assert($nombre == $this->getRequest()->getParam("nombre"));
assert($id == $this->_request->getParam("id"));
}
}
?>Ejemplo #2 Dummy_action.php
<?php
class DummyAction extends Yaf_Action_Abstract {
/* una clase de acción definirá este método como el punto de entrada */
public execute() {
}
}
?> - _module
-
El nombre del módulo
- _name
-
El nombre del controlador
- _request
-
El objeto de petición actual
- _response
-
El objeto respuesta actual
- _invoke_args
- _view
-
El objeto de motor de vistas
Tabla de contenidos
- Yaf_Controller_Abstract::__clone — Una instancia de la clase Yaf_Controller_Abstract no puede ser clonada
- Yaf_Controller_Abstract::__construct — Constructor de Yaf_Controller_Abstract
- Yaf_Controller_Abstract::display — El propósito de display
- Yaf_Controller_Abstract::forward — Avanza a la siguiente acción
- Yaf_Controller_Abstract::getInvokeArg — El propósito de getInvokeArg
- Yaf_Controller_Abstract::getInvokeArgs — El propósito de getInvokeArgs
- Yaf_Controller_Abstract::getModuleName — Obtiene el nombre del módulo
- Yaf_Controller_Abstract::getRequest — Recupera el objeto petición actual
- Yaf_Controller_Abstract::getResponse — Recupera el objeto respuesta actual
- Yaf_Controller_Abstract::getView — Recupera el motor de vistas
- Yaf_Controller_Abstract::getViewpath — El propósito de getViewpath
- Yaf_Controller_Abstract::init — Inicializador del controlador
- Yaf_Controller_Abstract::initView — El propósito de initView
- Yaf_Controller_Abstract::redirect — Redirige a un URL
- Yaf_Controller_Abstract::render — Interpreta una plantilla de vista
- Yaf_Controller_Abstract::setViewpath — El propósito de setViewpath