Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/01/2013, 10:56
Avatar de Dundee
Dundee
 
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 22 años, 4 meses
Puntos: 8
Mismo filtro para varios controladores

Hola gente, llevo unos días con YIIFW siguiendo los pasos de un libro que no está nada mal que he comprado hace poco ""Web Aplication Development with Yii and PHP" y estoy siguiendo paso a paso los ejemplos que trae. El problema es que estos libros suelen pasar por alto cosillas que luego tienes que buscar en la documentación oficial o por san Google (::.

Entiendo que hay dos maneras de aplicar filtros a nuestras acciones:

1 Directamente en el controlador sobrescribiendo el método filter

2 Creando una clase en un archivo distinto , que herede de CFilter , algo así:

Código:
class PerformanceFilter extends CFilter
{
    protected function preFilter($filterChain)
    {
        // logic being applied before the action is executed
        return true; // false if the action should not be executed
    }
 
    protected function postFilter($filterChain)
    {
        // logic being applied after the action is executed
    }
}
Y al mismo tiempo en filter tendría que indicar la ruta de este archivo , el cual he metido en protected/filters/PerformanceFilter.php (algo así):

Código:
	public function filters()
	{
		return array(
			'accessControl', // perform access control for CRUD operations
			'postOnly + delete', // we only allow deletion via POST request
            
            array('application.filters.PerformanceFilter + create'),
		);
	}
El problema es que cuando intento ejecutar mi acción , me sale este error:
include(PerformanceFilter.php): failed to open stream: No such file or directory

Se me olvidaba decir que si quiero crear una clase externa al controlador para crear mis filtros, es porque estos van a ser utilzados más de una vez por mi aplicación, y no veo muy lógico tener que crearlos una y otra vez en cada controlador que necesite utilizarlos.

Gracias de antemano
__________________
Videotutoriales de Drupal