php - examples - smarty github
¿Cuál es la diferencia entre Smarty y Zend? (5)
Estás mezclando de alguna manera esos conceptos.
Un motor de plantillas no separa la lógica de la pantalla, pero es un medio para lograr eso.
Un marco, por otro lado, es una abstracción en la que el código común que proporciona una funcionalidad genérica puede ser selectivamente anulado o especializado por el código de usuario que proporciona una funcionalidad específica [Wikipedia]. Algunos marcos, incluido Zend Framework, proporcionan una implementación del patrón arquitectónico MVC (Model View Controller), lo que facilita aislar la persistencia, la lógica y las capas de presentación.
Me encontré con Smarty, que es un motor de plantillas. Pero también están los marcos Zend, CakePHP. ¿Es Smarty como Zend, o son completamente diferentes? Smarty simplemente separa la lógica de la pantalla: ¿es esto similar a un marco como Zend?
Smarty es un motor de plantillas, mientras que Zend es un framework completo de php.
Sabelotodo
Smarty es un sistema de plantilla web escrito en PHP. Smarty se promueve principalmente como una herramienta para la separación de preocupaciones, que es una estrategia de diseño común para ciertos tipos de aplicaciones. [1] [2]
Smarty genera contenido web mediante la colocación de etiquetas Smarty especiales dentro de un documento. Estas etiquetas son procesadas y sustituidas por otro código.
Las etiquetas son directivas para Smarty que están encerradas por delimitadores de plantilla. Estas directivas pueden ser variables, indicadas por un signo de dólar ($), funciones, declaraciones lógicas o de bucle. Smarty permite a los programadores de PHP definir funciones personalizadas a las que se puede acceder utilizando etiquetas Smarty.
Smarty tiene la intención de simplificar la compartimentación, lo que permite que la presentación de una página web cambie por separado desde el back-end. Idealmente, esto alivia los costos y esfuerzos asociados con el mantenimiento del software. Bajo la aplicación exitosa de esta estrategia de desarrollo, los diseñadores están protegidos de la codificación de back-end, y los programadores de PHP están protegidos de la codificación de presentación.
Zend
ZF es un marco de uso a voluntad. No existe un paradigma o patrón de desarrollo único que todos los usuarios de Zend Framework deban seguir, aunque ZF proporciona componentes para los patrones de diseño MVC, Table Data Gateway y Row Data Gateway. Zend Framework proporciona componentes individuales para muchos otros requisitos comunes en el desarrollo de aplicaciones web. [1]
Zend Framework también busca promover las mejores prácticas de desarrollo web en la comunidad PHP; las convenciones no son tan comúnmente usadas en ZF como en muchos otros marcos, más bien se formulan sugerencias estableciendo valores predeterminados razonables que pueden ser anulados para cada requisito específico de la aplicación ZF. [4]
Un motor de plantillas ( Smarty ) simplemente proporciona un método para separar la pantalla del código real.
Un marco ( Zend , CakePHP , Drupal , etc.) proporciona esencialmente una extensión de idioma sobre PHP. Luego usa este ''idioma'' para escribir su sitio. Le proporciona métodos para realizar tareas más complejas fácilmente (más al menos). Por lo general, ayuda con cosas como el acceso a la base de datos, la seguridad, i18n / l10n , el almacenamiento en caché, la creación de plantillas, etc.
Zend es una implementación JIT del lenguaje PHP. Procesa todo su código PHP y lo compila en código máquina para su ejecución. Los marcos de almacenamiento en caché como APC proporcionan el almacenamiento en caché de códigos de operación para mejorar el rendimiento.
Smarty es un lenguaje de plantilla implementado en PHP. Separa la lógica de negocios y la presentación.
Zend -> PHP -> Smarty -> Su sitio web