php - notificaciones - node js tiempo real
obtener el controlador actual (2)
en una función quiero llegar al controlador actual:
$front = Zend_Controller_Front::getInstance();
esto solo da un controlador pero no un controlador actual.
Cambié el código de la función al interior del controlador. y le pregunté a sus orígenes tanto el controlador que obtuve de getInstance y esto
var_dump(get_class($front), get_class($this));
Yo obtengo:
string ''Zend_Controller_Front'' (length=21)
string ''IndexController'' (length=15)
¿Cómo puedo llegar al controlador frontal iniciado realmente?
No puedo pasar como parámetro, porque esta función se usa billones de veces.
Zend_Controller_Front::getInstance()->getRequest()->getControllerName();
Posible con:
$front = Zend_Controller_Front::getInstance()
$request = $front->getRequest();
$module = ucfirst($request->getModuleName());
$controller = ucfirst($request->getControllerName());
$instance = new $module . ''_'' . $controller . ''Controller'';
En Acción Ayuda:
$instance = $this->getActionController();
Pero , esto probablemente significa que algo está mal con su arquitectura.
Debería mover el código común que necesita a action helper, service o model.