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