En cuanto a las plantillas PHP, es más fácil decirlo que hacerlo. Probablemente haya más de 20 opciones al azar, y solo Pear contiene 5 plantillas diferentes, lo cual es realmente un dolor de cabeza.
No se limite a seguir las opiniones de los demás y decir que ésta es buena y aquella es mala. Antes de elegir una plantilla, será mejor que primero comprenda cuál es el verdadero propósito de la plantilla. En pocas palabras, el propósito principal de una plantilla es el trabajo en equipo. Hay dos formas principales de funcionamiento:
1. La separación de HTML y PHP hace que la cooperación entre diseñadores web y programadores PHP sea más agradable.
2. Separar la lógica de visualización y la lógica de transacciones hace que sea más fácil y flexible cambiar la lógica de transacciones central y expandir las aplicaciones, lo que significa que hace que la cooperación entre programadores sea más placentera. (La gente suele pasar por alto este punto o malinterpretarlo. Siempre piensan que sacar PHP de HTML se llama separar la lógica de visualización y la lógica de transacción. Si este es el caso, ¿por qué molestarse en mezclar PHP y HTML en primer lugar?
) propósito real de esta plantilla Qué es, será más fácil tomar la decisión correcta.
Si es el único programador PHP pero necesita trabajar junto con otros diseñadores web, elija una plantilla que pueda separar HTML y PHP, phplib (ahora parece estar integrado en Pear http://pear.php.net /package/HTML_Template_PHPLIB ) o
FastTemplate es algo así, muy sencillo y fácil de usar.
Si la interfaz de su sitio web es fea y la completan principalmente programadores, pero las funciones son más complejas y requieren funciones de extensión poderosas, y necesita separar varios niveles, incluida la lógica de visualización, entonces no use nada especial, PHP en sí es la mejor plantilla. . Cabe señalar que en este caso, debe diseñar su programa con mucho cuidado y recordar siempre no separar PHP y HTML, sino la lógica empresarial y la lógica de presentación. Es por eso que siempre me he resistido mucho a cosas como Smarty, porque la sintaxis de Smarty es demasiado compleja y poderosa, casi reinventando un lenguaje de scripting (incluso los programadores PHP tienen que volver a aprenderlo). Lo que es aún más desconcertante es que cuanto más poderoso es este script, más fácil es para las personas mezclar la lógica de negocios y la lógica de presentación, destruyendo la intención original de la plantilla.
Si desea separar HTML y PHP y obtener un mejor diseño visual, pero también desea que todo el sistema tenga capacidades de expansión muy poderosas que puedan adaptarse a varias interfaces de html, xml y wml sin tener que aprender una sintaxis compleja y al mismo tiempo proporcionar un mayor nivel de eficiencia operativa, entonces este es un tema bastante desafiante. La mala noticia es que actualmente no existe una plantilla madura que realmente pueda cumplir con tales requisitos. La buena noticia es que no es difícil completar dicha plantilla. Si prueba Zope o ColdFusion, encontrará la sombra de esta plantilla.
(wact http://wact.sourceforge.net/ y phptal http://phptal.sourceforge.net/ se están desarrollando en esta dirección y deberían ser muy prometedores).
Hay dos formas principales de combinar plantillas y datos (llamada a plantillas): método push y método pull.
La forma de enviar es usar PHP para enviar datos a la plantilla, lo que significa que el programador debe asignar explícitamente un valor a cada variable en la plantilla y vincularlas.
El método de extracción es como mezclar php y html. Las variables en la plantilla extraen activamente los datos.
Hablando de plantillas, debemos mencionar otras dos cosas:
phphtmllib y quickform ( http://pear.php.net/package/HTML_QuickForm ). Estas dos cosas utilizan métodos tradicionales para completar la estructura HTML a través de varios componentes de la página. La página está completamente en manos del programador. Quizás muchos programadores que han escrito programas de escritorio GUI tradicionales prefieran este método.
Una solución más hermosa
Si estás creando software comercial, Flash debería ser una solución más hermosa (no me malinterpretes, no creas que sólo porque sabes que PHP soporta las bibliotecas ming y swf puedes generar Flash dinámicamente, eso no es lo que Estoy hablando.) Lo que quiero decir Es una solución que admite Flash Remoting. Este tipo de cosas es la combinación verdaderamente significativa de PHP y flash. El diseñador visual completa la parte flash y el programador PHP envía los datos al cliente creados en flash a través de la comunicación remota flash.
Actualmente existen dos soluciones:
AMFPHP
Dado que Macromedia Flash Remoting utiliza un formato de datos único y más eficiente al transmitir datos, AMFPHP construye el formato de datos correspondiente en el lado del servidor analizando el formato de datos PHP. clase para recibir, analizar y codificar estos datos para lograr la función de intercambiar información (al igual que Samba, debería ser una especie de Hacking).
PHPObject
http://ghostwire.com/resources/phpobject/
PHPObject utiliza otro método para transmitir datos a través de un formato abierto al incorporar algunos componentes de ActionScript en flash.
De hecho, hay muchos otros problemas relacionados con las plantillas PHP y solo puedo escribir una cantidad limitada en un tiempo.