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:


[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

Popular posts from this blog

Using wx.stc.StyledTextCtrl

¡Ya tengo Gmail 2.0!

All my old posts imported