Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Mismo filtro para varios controladores

Estas en el tema de Mismo filtro para varios controladores en el foro de Frameworks y PHP orientado a objetos en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 08/01/2013, 10:56
Avatar de 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
  #2 (permalink)  
Antiguo 08/01/2013, 11:38
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: Mismo filtro para varios controladores

pareciera problema de rutas ya que no lo esta encontrando, creaste la carpeta filters dentro de protected?? el nombre del archivo esta tal cual como lo indicas en la definición de la ruta??
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way

Etiquetas: filtros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:21.