Cita:
Iniciado por masterpuppet 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//Bootstrap.php
protected function _initSession()
{
return new Zend_Session_Namespace('MyNamespace', true);
}
el segundo parámetro lo hace único y luego para obtenerlo desde un controller:
Código PHP:
Ver originalclass IndexController extends Zend_Controller_Action
{
public function indexAction()
{
$ns = $this->getInvokeArg('bootstrap')->session;
...
}
}
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 originalprotected function _initSession()
{
Zend_Session::start();
return new Zend_Session_Namespace('MyNamespace', true);
}
Saludos y gracias por la respuestas.