Ver Mensaje Individual
  #11 (permalink)  
Antiguo 10/02/2011, 18:56
Fenris
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: Duda con funcionalidad

Cita:
Iniciado por masterpuppet Ver Mensaje
Fenris si queres tener un único objeto de un namespace X para toda la aplicación, podrias hacer algo asi:

Código PHP:
Ver original
  1. //Bootstrap.php
  2. protected function _initSession()
  3. {
  4.     return new Zend_Session_Namespace('MyNamespace', true);
  5. }

el segundo parámetro lo hace único y luego para obtenerlo desde un controller:

Código PHP:
Ver original
  1. class IndexController extends Zend_Controller_Action
  2. {
  3.     public function indexAction()
  4.     {        
  5.         $ns = $this->getInvokeArg('bootstrap')->session;  
  6.         ...
  7.     }
  8. }

al ser único si intentas instanciar de nuevo el namespace(MyNamespace) te va lanzar una Exception.

Saludos.
Ok, pero tengo otra duda y disculpen que sea tan insistente con esto pero quiero tenerlo claro, en el codigo que cito es necesario, recomendable, buena practica cualquier adjetivo que se quiera, colocar tambien una linea mas arriba dentro del mismo metodo la instruccion Zend_Session::start(), quedando asi el codigo.

Código PHP:
Ver original
  1. protected function _initSession()
  2.     {
  3.         Zend_Session::start();
  4.         return new Zend_Session_Namespace('MyNamespace', true);
  5.     }

Saludos y gracias por la respuestas.