Zend + Smarty
Cada vez que he querido usar plantillas con PHP he usado Smarty. Hace rato, no mucho después de empezar a usar Python, me hablaron sobre Django y en cuanto lo probé me dí la tarea de encontrar un framework que tuviera la mayor cantidad de funcionalidades que trae este pero en vez de ser en Python lo quería en PHP. Así fue como dí con Zend Framework. En un primer momento me mostré un poco escéptico porque no es tan a lo Django como quería pero después de probarlo un poco terminó gustándome.
Pero entonces llegó el momento de hacer uso de las plantillas y me pregunté ¿por qué no usar el ya conocido Smarty? Tras mucho navegar no encontré algo que me funcionara del todo bien así que lo implementé yo mismo. Esto es lo que quedó: SmartyView.php
En el archivo de configuración de la aplicación está el camino a los directorios que necesita Smarty para funcionar. Básicamente mi archivo config.ini es este:
Como hereda de
De aquí pueden descargar la aplicación completa para empezar a desarrollar a partir de ella: zend_smarty_application.zip. En este último tienen que poner dentro de
Pero entonces llegó el momento de hacer uso de las plantillas y me pregunté ¿por qué no usar el ya conocido Smarty? Tras mucho navegar no encontré algo que me funcionara del todo bien así que lo implementé yo mismo. Esto es lo que quedó: SmartyView.php
En el archivo de configuración de la aplicación está el camino a los directorios que necesita Smarty para funcionar. Básicamente mi archivo config.ini es este:
[general]
smarty.dirs.template = ./application/views/
smarty.dirs.compile = ./application/views/compiled/
Como hereda de
Zend_View_Abstract
podemos ponerlo como ViewRenderer
predeterminado de nuestra aplicación así no hay que modificar los controladores:
Zend_Loader::loadClass('SmartyView');
$view = new SmartyView();
$viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer();
$viewRenderer->setView($view);
$viewRenderer->setViewSuffix('tpl');
$viewRenderer->setViewScriptPathSpec(':controller/:action.:suffix');
Zend_controller_Action_HelperBroker::addHelper($viewRenderer);
De aquí pueden descargar la aplicación completa para empezar a desarrollar a partir de ella: zend_smarty_application.zip. En este último tienen que poner dentro de
zend_smarty_application/library
el Zend Framework
Comments
Post a Comment