2012-04-20 6 views
9

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.¿Debo usar el motor de plantillas smarty con MVC como Yii?

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?

Respuesta

11

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 ver 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á utilizando un IDE bueno (como netbeans) también sangrará automáticamente su código (see code formatting in netbeans).

también echar un vistazo a Alternative syntax for control structures

Opinión posible de Yii creador

Yii misma se deriva de Prado que es anterior proyecto 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.

plantillas Smarty Overhead

Smarty se cumplen a PHP una vez por el cambio (si está activado el almacenamiento en caché), esto significa que la mayor parte de los gastos generales sólo se produce para la primera solicitud, pero me gustaría asumir todavía hay algunos gastos indirectos en la función adicional llaman para verificar que la vista compilada existe y esto afectaría cada solicitud. Entonces, hay una sobrecarga para smarty, pero es probablemente insignificante.

+0

Entiendo la sintaxis alternativa pero solo quiero saber si hay alguna ventaja de smarty al usar una arquitectura ya MVC. o habrá una sobrecarga? – Hafiz

+0

Eso depende completamente de lo que consideraría la ventaja de smarty? –

+0

No hay diferencia entre usar smarty en una aplicación a medida y usarla en un marco. La combinación de vistas y la lógica siempre es una mala práctica de la OMI. Pero si es estricto consigo mismo y con otros desarrolladores, no necesita Smarty para hacer cumplir que –

1

Smarty no estaría sobrecarga si se compiló a php.

Yo sólo uso Smarty cuando hay funciones independientes de desarrollador y diseñador (que quiere usar Smarty)

Otras de eso, es simplemente otro lenguaje para aprender.

2

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.

+1

No necesita usar un motor de plantillas para tener lógica de caché en yii, hay una compilación en caché que puede activar – darkheir

Cuestiones relacionadas