Yaf
PHP Manual

La clase Yaf_Controller_Abstract

(No hay información de versión disponible, podría estar únicamente en SVN)

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()).

Sinopsis de la Clase

abstract Yaf_Controller_Abstract {
/* Propiedades */
public $actions ;
protected $_module ;
protected $_name ;
protected $_request ;
protected $_response ;
protected $_invoke_args ;
protected $_view ;
/* Métodos */
final private void __clone ( void )
final private __construct ( void )
protected bool display ( string $tpl [, array $parameters ] )
public void forward ( string $module [, string $controller [, string $action [, array $paramters ]]] )
public void getInvokeArg ( string $name )
public void getInvokeArgs ( void )
public string getModuleName ( void )
public Yaf_Request_Abstract getRequest ( void )
public Yaf_Response_Abstract getResponse ( void )
public Yaf_View_Interface getView ( void )
public void getViewpath ( void )
public void initView ([ array $options ] )
public void redirect ( string $url )
protected string render ( string $tpl [, array $parameters ] )
public void setViewpath ( string $view_directory )
}

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 define action in a separate file

<?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) {
       
assert($nombre == $this->getRequest()->getParam("name"));
       
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

_name

_request

El objeto de petición

_response

_invoke_args

_view

El objeto de motor de vistas

Tabla de contenidos


Yaf
PHP Manual