tutorial net ejemplos smarty template-engine yii

net - ¿Debo usar el motor de plantillas smarty con MVC como Yii?



smarty php ejemplos (3)

Smarty no estaría sobrecargado si se compilara a php.

Solo usaría Smarty cuando haya funciones separadas de desarrollador y diseñador (que quiera usar Smarty)

Aparte de eso, es solo otro idioma para aprender.

Utilicé smarty en pasado, en x-cart, jobberbase y jomestate componente de Joomla y algunos otros componentes de Joomla también. Vi que las cosas estaban mucho más unidas en x-cart y que muchas cosas parecen ser más complicadas de lo que deberían ser en la base de trabajo y tuve la impresión de que esto se debía a la astucia.

Ahora voy a usar Yii en un proyecto, sugerido por el cliente. Y Yii en sí es el marco MVC. Entonces, ¿debería usar Smarty con eso? Quiero saber que si uso smarty para eso, quiero decir, ¿habrá algunas ventajas de usar smarty en Yii? ¿O no? ¿O será solo una carga general o habrá algunos inconvenientes de usar smarty en ella? Tengo una comprensión de smarty. Pero creo que a veces hace las cosas más complejas. Así que quiero saber por ustedes, eso es solo un pensamiento dominante debido a los malos marcos o hay algo de realidad en eso, entonces ¿debería usar Smarty o hay algo mejor que eso?


Smarty es, como cualquier lenguaje de plantilla, una costosa sobrecarga.

Como dijo Rasmus Lerdorf, PHP ya es un motor de plantillas. ¿Hay alguna razón para agregar otro idioma con otras estructuras de controles, que ya tienes en PHP?

Los motores de plantillas solo son útiles porque incorporan la lógica de caché. Si no puede construir una lógica de caché usted mismo, aprenda.


Como alguien que solía usar smarty antes de Yii, diría que no tiene sentido.

Smarty fue genial porque le impedía mezclar lógica y visualización en un solo archivo. La arquitectura MVC define que los controladores (que contienen lógica) y la vista deben estar separados de todos modos. Te recomiendo que escribas tus puntos de vista como lo harías en las plantillas inteligentes, pero solo usa la sintaxis php. Si está usando un IDE bueno (como netbeans) también sangrará automáticamente su código (vea el formato del código en netbeans) .

También eche un vistazo a la sintaxis alternativa para estructuras de control

Posible opinión del creador de Yii

Yii se deriva de Prado, que es el proyecto anterior de Qiang Xue. Prado tiene un lenguaje tentador y Yii (listo) no supondría que esto significa que Qiang cree que un lenguaje de plantillas no es necesario.

Smarty Overhead

Las plantillas Smarty se cumplen en PHP una vez por cambio (si el almacenamiento en caché está habilitado), esto significa que la mayor parte de la sobrecarga solo ocurre para la primera solicitud, pero supongo que todavía hay un poco de sobrecarga en las llamadas a funciones adicionales para verificar que vista existe y esto afectaría cada solicitud. Entonces, hay una sobrecarga para smarty, pero es probablemente insignificante.