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:
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í):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
}
}
Código:
El problema es que cuando intento ejecutar mi acción , me sale este error: 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'),
);
}
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


