¿Se enfrenta a la creación de un sitio web creado tanto por un programador (probablemente usted) como por un diseñador? ¿No sabéis cómo facilitaros el trabajo a ambos? Déjame darte la respuesta: ¡usa FastTemplate para que tu sitio sea más fácil de personalizar!
Bien, quizás te preguntes por qué deberías usar FastTemplates.
· Puede cambiar el aspecto de todo su sitio en segundos · Programación abstracta, sin código HTML basura · Los diseñadores no necesitan preocuparse por todo el código "oscuro" · Sorprendentemente rápido · Es más fácil reutilizar plantillas antiguas (frente a la forma normal)
FastTemplate se deriva de un paquete Perl del mismo nombre (que se puede encontrar en CPAN). Puede descargar la versión PHP desde su página de inicio (la dirección de descarga de este sitio es: http://www.phpe.net/downloads/1.shtml). Sólo necesitas uno de los archivos de clase (class.FastTemplate.php).
Primero permítanme explicarles la diferencia entre usar una plantilla para generar una página y simplemente repetirla o imprimirla.
Simplemente usar el método eco/impresión es excelente para escribir guiones cortos, pero no ayuda a una mejor organización y personalización. Por otro lado, las plantillas le brindan la posibilidad de crear sitios multilingües simplemente cambiando un parámetro. Pueden presionarte para que te preocupes más por lo que tienes que hacer.
No tengas miedo de pensar antes de empezar a codificar. Puede que lleve algo de tiempo, pero el coste se amortizará a medida que crezca el proyecto.
Entonces, ¿cómo aplicar FastTemplate? Primero necesitas hacer una llamada simple:
<?php $tpl=new FastTemplate ("ruta");
?>
Pásele una ruta al directorio donde se almacenan todos los archivos de plantilla. Devuelve un objeto, que puede utilizar para la asignación de parámetros, generación de páginas, etc.
FastTemplate se basa en el supuesto de que una página grande se compone de muchas partes pequeñas. Cada parte tiene un nombre único. La parte más pequeña es asignarlo a una cadena de texto normal con un nombre único. Esto se puede hacer a través de <?php
$tpl->assign(NOMBRE, "texto");
?>
para completar. Ahora, si una de sus plantillas contiene {NOMBRE}, FastTemplate conoce su intención.
Además, FastTemplate necesita saber cómo desea llamar a su plantilla. Necesita pasar una matriz asociativa (asociativa
matriz) a <?php $tpl->define() ?>
Ven y dale una pista.
<?php
$tpl->define(array(foo => "foo.tpl",
barra => "bar.tpl"));
?>
Estas asignaciones darán a foo y bar respectivamente archivos diferentes (llamados foo.tpl y bar.tpl).
Ahora desea que FastTemplate reemplace todos los {MACROS} en la plantilla foo con sus valores correspondientes. Emitiendo el comando
<?php
$tpl->parse(CONTENIDO DE LA PÁGINA, "foo");
?>
para lograr. Este comando asignará el contenido de la plantilla "foo" a PAGECONTENT. Por supuesto, aún no hemos terminado, porque la barra de plantillas es la definición de la página principal y FastTemplate necesita reemplazarla.
macro {CONTENIDO DE LA PÁGINA}. También necesitamos asignar un valor a PAGETITLE, de la siguiente manera: <?php
$tpl->assign(PAGETITLE, "Prueba FooBar");
$tpl->parse(PRINCIPAL, "barra");
?>
Fácil, ¿no? Sólo necesitamos generarlo ahora: <?php
$tpl->FastPrint(PRINCIPAL);
?>
Los siguientes tres archivos muestran descripciones más detalladas de ejercicios reales. No sé cómo vivir sin esta tecnología en la vida real.
Tus diseñadores estarán contentos y tu jefe sonreirá porque podrás hacer más en menos tiempo.
bar.tpl <!-- bar.tpl -->
<HTML>
<HEAD><TITLE>Mundo de funciones: {PAGETITLE}</TITLE></HEAD>
<CUERPO BGCOLOR=TEXTO NEGRO=BLANCO>
<H1>{PAGETITLE}</H1>
{CONTENIDO DE LA PÁGINA}
</CUERPO>
</HTML>
foo.tpl <!-- foo.tpl -->
Es evidente que no se hizo nada. Consulte {NOMBRE}.
demostración.php3 <?php
incluir "class.FastTemplate.php3"
$tpl = nuevo FastTemplate( ".");
$tpl->define(array(foo => "foo.tpl", bar => "bar.tpl"));
$tpl->assign(NOMBRE, "yo");
$tpl->assign(PAGETITLE, "¡Bienvenido!");
$tpl->parse(PAGECONTENT, "foo");
$tpl->parse(PRINCIPAL, "barra");
$tpl->FastPrint(PRINCIPAL);
?>
Crear una tabla completa También escribí un breve ejemplo para demostrar cómo generar una tabla completa a partir de una plantilla de una sola fila. Es eficiente porque aún no es necesario modificar el documento HTML directamente.
Creamos una tabla HTML agregando el contenido de una plantilla a un nombre único ya definido. Esto se puede hacer llamando
Cuando $tpl->parse(), agregue un "." antes del nombre de la plantilla para lograr esto. <?php
//Asigna el contenido de la plantilla foo a TPL1
$tpl->parse(TPL1, "foo");
// Adjunte el contenido de la barra de plantilla después de TPL1
$tpl->parse(TPL1, ".bar");
?>
página.tpl
<HTML>
<HEAD><TITLE>Mundo de funciones: {PAGE_TITLE}</TITLE></HEAD>
<CUERPO BGCOLOR=TEXTO NEGRO=BLANCO>
<H1>{PAGE_TITLE}</H1>
{PAGE_CONTENT}
</CUERPO>
</HTML>
tabla.tpl
<TABLE>
<TR> <TH>nombre</TH> <TH>tamaño</TH> </TR>
{TABLE_ROWS}
</TABLE>
table_row.tpl
<TR>
<TD>{NOMBRE DE ARCHIVO}</TD>
<TD>{FILESIZE}</TD>
</TR>
yad.php3
<?php
incluir "class.FastTemplate.php3"
función InitializeTemplates() {
global $tpl;
$tpl = nueva Plantilla Rápida( ".");
$tpl->definir( matriz( página => "página.tpl",
tabla => "tabla.tpl",
table_row => "table_row.tpl" ) );
}
función LeerDirectorioCurrent() {
global $tpl;
$manejar = opendir( ".");
while ($ nombre de archivo = readdir ($ mango)) {
$tpl->assign(NOMBRE DE ARCHIVO, $nombre de archivo);
$tpl->assign(TAMAÑO DE ARCHIVO, tamaño de archivo($nombre de archivo));
$tpl->parse(TABLE_ROWS, ".table_row");
}
closedir($manejar);
$tpl->parse(PAGE_CONTENT, "tabla");
}
función ImprimirPágina($título) {
global $tpl;
$tpl->asignar(PAGE_TITLE, $título);
$tpl->parse(FINAL, "página");
$tpl->ImpresiónRápida(FINAL);
}
InicializarPlantillas();
LeerDirectorioActual();
Printpage("Otra demostración más");
?>
Discusión sobre velocidad
"Está bien", podría estar diciendo: "Todo eso es genial. ¿Pero no afectará la velocidad de mi sitio?"
No, su sitio probablemente será más rápido. Una razón simple: debido a que usted, como programador, se preocupa por diseñar su aplicación y escribir código, su código será más eficiente y manejará las mismas tareas de manera más fácil y rápida. Por lo tanto, puede agregar otra razón a la lista de razones enumeradas anteriormente por las que debería considerar usar FastTemplate en su proyecto.
Si sólo desea convertir un sitio web existente, es posible que no se note el éxito del rendimiento. Recomiendo usar el almacenamiento en búfer de expresiones regulares en PHP, ayudará en esta situación. Debido a que FastTemplate usa expresiones regulares para cada macro, cada expresión regular se compilará solo una vez y el impacto en la velocidad será insignificante.