Ver Mensaje Individual
  #10 (permalink)  
Antiguo 27/03/2011, 18:46
Avatar de masterpuppet
masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 4 meses
Puntos: 845
Respuesta: [Zend] Cambiar Script Desde Controlador

En el ejemplo esta hardcodeado, pero perfectamente lo podrias tener en el config y pasarlo por el constructor, luego para agregar o quitar seria simplemente editar el .ini

Application_Plugin_AccessCheck

Código PHP:
Ver original
  1. class Application_Plugin_AccessCheck
  2.     extends Zend_Controller_Plugin_Abstract
  3. {
  4.     ...
  5.     private $_blackList;
  6.  
  7.     public function __construct(Zend_Auth $auth, array $blackList)
  8.     {
  9.        $this->_blackList = $blackList;
  10.       ...
  11.     }
  12. }


Bootstrap
Código PHP:
Ver original
  1. class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
  2. {
  3.     public function _initPlugins()
  4.     {
  5.         $options = $this->getOptions();
  6.         $fc = Zend_Controller_Front::getInstance();        
  7.         $fc->registerPlugin(new Application_Plugin_AccessCheck(Zend_Auth::getInstance()), $options['blackList']);
  8.     }
  9. }

application.ini
Código INI:
Ver original
  1. ...
  2. blackList[] = "default:index:index"
  3. blackList[] = "users:index:list"

Creo que es preferible algo asi, a a estar en los diferentes action's comprobando para mostrar una vista u otra, tenes que pensar que en otro proyecto se te puede presentar la misma situación y para solventarlo seria tan simple como integrar el plugin, AccessCheck es candidato a estar en tu libreria .

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)