Conocer el controller

Conocer el controller

Hoy estaba definiendo una estructura de directorios, los controllers estaban todos tirados en un directorio, y eso era perfecto, el problema surgio con la vista. Cuando quise configurar la ruta de la vista a partir del nombre del controller tuve que buscar un metodo que me devolviera el nombre, sin la necesidad de parsear la uri. Y buscando por la documentacion, encontre muy apartado el metodo getControllerName() que esta dentro de getRequest(). Si nosotros en algun momento necesitaramos el nombre del controller, desde alguna clase que herede Zend_Controller_Action, podemos ejecutar $this->getRequest->getControllerName(), y este nos va a devolver nuestro controller actual ;) .

En mi caso el codigo para setear el path de los phtml quedo asi.

  1.  
  2. $view = new Zend_View();
  3. $view->setScriptPath(‘./usite/scripts/views/’ . $this->getRequest()->getControllerName() . ‘/’ );
  4.  

Esto lo hagos desde un init() general, o desde el init en cada controller. En mi caso los controllers heredan de una clase que hereda Zend_Controller_Action, lo cual me evita crear un init para cada controller y lo hago solo una vez.