Recientemente tuve ese problema. Resuelto de esta manera:
Por lo general, un controlador es una extensión de Zend_Controller_Action, por ejemplo
class IndexController extends Zend_Controller_Action
Lo que hicimos en nuestro proyecto era crear un controlador extendida en/Library/ME/Controlador
class ME_Controller_Base extends Zend_Controller_Action
public function init()
{
parent::init();
}
}
el uso de este controlador se puede extender todos sus otros controladores de ella - es así, el controlador por defecto anterior va desde
class IndexController extends Zend_Controller_Action
a
class IndexController extends ME_Controller_Base
importante, recuerde que debe llamar siempre a los padres :: init() en la sección init() de su controlador (esto es una buena práctica de todos modos)
class IndexController extends ME_Controller_Base
{
public function init()
{
parent::init();
}
}
Ahora puede agregar cualquier código que desee para el controlador "Base". Como estamos usando Zend_Auth con un objeto de usuario Doctrina, la final de la "base" del controlador se parece a este método
class ME_Controller_Base extends Zend_Controller_Action
public function init()
{
parent::init();
$auth = Zend_Auth::getInstance();
$this->view->user = $auth;
$this->user = $auth;
// check auth
...
// write an update to say that this user is still alive
$this->user->getIdentity()->update();
}
}
La actualización() simplemente establece un campo "actualizado" a la fecha actual y elimina el usuario. A continuación, puede seleccionar usuarios que se vieron en los últimos X minutos para mostrar la lista.
consulte la publicación actualizada –