A continuación comparto con vosotros una línea de código que me llevo más de 2 horas sacarla.

$view = sfContext::getInstance()->get('view_instance');

¿Pero qué es esto? Concretamente con esta línea obtenemos acceso al objeto sfView encargado de renderizar la vista. Aunque en principio pueda parece que no tenga mucha utilidad seguro que hay algún momento en tu vida como desarrollador symfony en la que te va a hacer falta, quizás no así, sino en su versión más útil

$post = sfContext::getInstance()->get('view_instance')->getAttribute('post');

qué es completamente equivalente a $post en la vista (template) habiendo definido previamente $this->post en la acción.

En mi caso esto lo estamos utilizando para un pequeño CMS propio que estamos desarrollando en el que la acción pasa “bajo cuerda” una serie de variables a la vista y un helper (el helper no tiene idea de lo que es el contexto, es sólo una función) necesita conocer el valor de éstas. Creédme, con esto hemos conseguido que, de cara al programador, esto ocurra como por arte de magia y le quite la sobrecarga de tener que arrastrar variables que no sabe para lo que sirven de un sitio a otro.


Compártelo:
  • Print
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Ping.fm
  • RSS
  • Twitter