Al igual que in this topic, tengo un problema de rendimiento en el modo dev cuando agrego una etiqueta twig "render" en mi aplicación (documentación relacionada: Embedding controllers).Symfony2 y Twig rinden problemas de rendimiento
Sin esta etiqueta de renderizado, mis páginas se generan en menos de 70 ms. Con la etiqueta de renderizado, es de al menos 170 ms. Y cada etiqueta de renderizado agregada en la aplicación aumenta la generación de la página en 100 ms (que es MUCHO: ¿por qué una página normal se ejecuta en 60 ms y una etiqueta de renderizado en 100 ms?). Es posible que necesite 4 o 5 de ellos en cada página de mi aplicación, por lo que significaría al menos 500 ms para cada página en modo dev.
Entiendo totalmente que no hay ningún problema en el modo prod, pero claramente no es cómodo en el desarrollo. Entonces, ¿alguien sabe alguna forma de deshacerse de llamadas inútiles, registros o códigos mientras usa la etiqueta "render" en el modo dev?
Bueno, en este caso, la creación de un servicio para la lógica del controlador es mejor en mi humilde opinión. Si la lógica del controlador tiene operación de DB, entonces creo que es mejor no mover la lógica a la función de ramitas. La creación de un servicio separado también garantiza la resutilización si el controlador incrustado tiene una ruta adjunta y se puede llamar de forma independiente. –
Nada le impide llamar a servicios desde una extensión Twig. De hecho, eso es lo que hago. No es un problema como este VS. Las extensiones de My Twig solo llaman acciones de controladores definidas como servicios. Esas acciones son reutilizables sin extensiones de Twig. –
Bueno, el servicio también puede exponerse a ramitas agregando la variable global twig en 'app/config.yml'. Simplemente una forma diferente de lograr cosas. Nada de qué discutir en realidad :). –