2011-06-25

Rain.TPL Template Engines otra alternativa super rapída Vs Smarty Vs Twig

Rain.TPL es otro motor de template muy simple con funciones mínimas que lo hace muy rápido bajando la brecha entre PHP puro y un motor de plantillas como Smarty.net o Twig que esta el momento este ultimo era unos de los mas rápido y pequeños y llego de la mano de la gente que desarrolla Symfony.

RainTPL

RainTPL es un código abierto motor de plantillas PHP, que carga precompilada plantillas PHP:
  • Fácil, 8 tags, 3 métodos, 1 sola clase en 1 solo archivo php
  • Rápido, la carga de plantillas precompiladas
  • Útiles, se divide la lógica de diseño
  • WYSIWYG, el diseño de HTML con img / css con rutas relativas, la lluvia va a sustituir a la ruta correcta
  • Dispone de Cache


Instalación

Downloadhow RainTPL copia, el rain.tpl.class.php archivo en su proyecto de incluir el directorio inc /, cree un directorio de plantillas tpl /, y un directorio tmp cache /.


Incluir y configurar

include "inc/rain.tpl.class.php"; //include Rain TPL
raintpl::$tpl_dir = "tpl/"; // template directory
raintpl::$cache_dir = "tmp/"; // cache directory

Tags

Aquí las etiquetas que necesita



{$Variable_name}

Las variables son los contenidos dinámicos de las plantillas, se pueden asignar a assign () método. Las variables son case_sensitive.

My age is {$age}  // 30

Usted puede hacer operaciones simples tales como - * /% con los números, cadenas y otras variables, y también utilizan = para asignar un valor a una variable

{$year=30}
My age is {$age+$year}  // 60

Puede utilizar las funciones con variables

My name is {$name|substr:0,3}  // Rai

Usar {$ GLOBALS} para acceder a todas las variables globales como variable _SESSION, _GET, _POST, _SERVER.



{#constant#}

Puede constantes con la siguiente sintaxis: {




{if="condition"}{/if}

Es el equivalente de php. Puede utilizar variables y php en el estado.

{if condition="$age < 20"}
    less than 20 years
{elseif condition=
"$age < 30"}
    
less than 30 years
{else}
     30 or more
{/if}



{loop="array"}{/loop}

Esta etiqueta le permiten bucle una matriz, que es útil para imprimir una lista de artículos, noticias.

{loop name="user"}
 {$value.user_id} - {$value.name} - {$value.phone}
{/loop}

Betweein{loop} y {/loop} se pueden usar variables especiales:
  • {$key}, key of the array element.
  • {$value}, value of the array.
  • 0, loop counter, it starts from 0. If you want starts from 1: {$counter+1}. If you do {$counter%2+1} each cycle will return 1 and 2.



{include="template"}

Use esta etiqueta para incluir plantillas externas. Útil para incluir encabezado y pie de si son los mismos en todas las páginas de su sitio web.

{include="layout/header"}

También puede utilizar el uso de caché estática con etiqueta incluyen. Compruebe la documentation.



{function="myFunc"}

Llamar a funciones php e imprimir el resultado.

{function="pagination($selected_page)"}



{ignore}{/ignore}

Todos entre {ignore} y {/ignore} se elimina en el archivo compilado. Use ignorar para comentar sus plantillas.

Hey, {ignore} {$name}, what's up {/ignore} dude?



{noparse}{/noparse}

Todo el código entre {noparse} {/noparse} no se va a analizar

Hey {noparse}how are you {$name}{/noparse}?

Output:
Hey how are you {$name}?


WYSIWYG - reemplazar Ruta

Esta característica interesante permite a los diseñadores para crear plantillas en HTML regular con imágenes y estilos con rutas relativas, RainTPL reemplaza automáticamente estos caminos con las rutas de servidor correcto.

Las rutas absolutas y caminos que termina con

<link href="style.css" type="text/css" rel="stylesheet">
<img src="img/logo.gif">

Output html:
<link href="tpl/style.css" type="text/css" rel="stylesheet">
<img src="tpl/img/logo.gif">

Nota: Si usted cambia raintpl:: $ base_url, RainTPL reemplazará a la ruta con raintpl:: $ base_url.



Asignar y dibujar

Esto es lo que has de escribir en la secuencia de comandos para asignar variables y extraer la plantilla.
$tpl = new raintpl(); //include Rain TPL
$tpl->assign( "age", "30" ); // assign variable
$tpl->assign( array( "age" => "30", "name" => "Rain" ) ); // associative array
$tpl->assign( "user", $user ); // assign an array
$tpl->draw( "mytemplate" ); // draw the template
Disponible también es un método de caché que puede mejorar drásticamente la velocidad de carga de su página.Compruebe la documentation.


Speed Test

¿Cuál es el motor de plantillas más rápido PHP? En esta página probado pocos motores de plantilla, por el tiempo de prueba y la memoria. La prueba se ejecuta en el template compilado, mediante pruebas de la variable de asignación y el lazo. La memoria caché está desactivada.

Link al test
Link a sitio oficial de RainTPL



No hay comentarios: