Top 7: Los Mejores motores de Plantillas PHP de código abierto

Top 7: Los Mejores motores de Plantillas PHP de código abierto

Cuando hablamos de motores de plantillas en PHP, muchos desarrolladores le dirán que no es necesario y que literalmente es una pérdida de tiempo y recursos de aprendizaje, porque PHP es básicamente un motor de plantillas en sí mismo. Sin embargo, la sintaxis PHP no evolucionó en los últimos años a diferencia de la nueva propuesta de motores de plantillas para el lenguaje. Este es un tema de discusión muy crítico entre los desarrolladores, por lo que depende totalmente de ti la implementación o el uso de un motor de plantilla en su proyecto PHP. Solo podemos decirte una cosa, si estás pensando en implementar un motor de plantillas en tu proyecto, podemos recomendarte algunos de los mejores.

En esta parte Top, compartiremos contigo 7 de los motores de plantilla de código abierto basados ​​en PHP más importantes.

7. Mustache

Github

Mustache PHP Template Engine

Inspirado en ctemplate y et, Moustache es una forma agnóstica del framework de renderizar vistas sin lógica. Como dice ctemplates, "enfatiza separar la lógica de la presentación: es imposible incrustar la lógica de la aplicación en este lenguaje de plantilla". Piensa en Moustache como un reemplazo de tus puntos de vista. En lugar de vistas que consisten en ERB o HAML con ayudantes aleatorios y lógica arbitraria, tus vistas se dividen en dos partes: una clase PHP y una plantilla HTML. Toda tu lógica, decisiones y código están contenidos en la vista. Todo tu marcado está contenido en la plantilla. La plantilla no hace nada más que métodos de referencia en tu opinión. Esta estricta separación hace que sea más fácil escribir plantillas limpias, más fácil probar tus vistas y más divertido trabajar en la interfaz de tu aplicación. El siguiente fragmento proporciona una vista previa de cómo se ve la sintaxis de Moustaches:

Hello {{name}}
You have just won {{value}} dollars!
{{#in_ca}}
Well, {{taxed_value}} dollars, after taxes.
{{/in_ca}}

6. Plates

Github

Plates Open Source PHP Template Engine

Plates es un sistema de plantillas PHP nativo que es rápido, fácil de usar y fácil de ampliar. Está inspirado en el excelente motor de plantillas Twig y se esfuerza por llevar la funcionalidad del lenguaje de plantillas moderno a las plantillas PHP nativas. Plates está diseñado para desarrolladores que prefieren usar plantillas PHP nativas sobre lenguajes de plantillas compilados, como Twig o Smarty. Este motor de plantillas presenta:

  • Plantillas PHP nativas, sin nueva sintaxis que aprender  
  • Plates es un sistema de plantillas, no un lenguaje de plantillas
  • Plates fomenta el uso de funciones PHP existentes
  • Aumenta la reutilización de código con diseños de plantilla y herencia   
  • Carpetas de plantillas para agrupar plantillas en espacios de nombres  
  •  Intercambio de datos entre plantillas
  • Asignar previamente datos a plantillas específicas  
  • Built-in escapar ayudantes  
  • Fácil de ampliar con funciones y extensiones   
  • Agnóstico del Framework, funcionará con cualquier proyecto
  • El diseño desacoplado hace que las plantillas sean fáciles de probar
  • Composer listo y compatible con PSR-2

El siguiente fragmento proporciona una vista previa de cómo se ve la sintaxis de los motores de plantilla de placas:

<?php $this->layout('template', ['title' => 'User Profile']) ?>

<h1>Welcome!</h1>
<p>Hello <?=$this->e($name)?></p>

<h2>Friends</h2>
<ul>
    <?php foreach($friends as $friend): ?>
        <li>
            <a href="/profile/<?=$this->e($friend->id)?>">
                <?=$this->e($friend->name)?>
            </a>
        </li>
    <?php endforeach ?>
</ul>

<?php if ($invitations): ?>
    <h2>Invitations</h2>
    <p>You have some friend invites!</p>
<?php endif ?>

5. Blade

Primera Opción Github 

Segunda Opcion Github

Blade es el motor de plantillas simple pero potente que se proporciona con Laravel. A diferencia de otros motores de plantillas PHP populares, Blade no te impide usar código PHP simple en tus vistas. De hecho, todas las vistas de Blade se compilan en código PHP simple y se almacenan en caché hasta que se modifican, lo que significa que Blade agrega esencialmente cero gastos generales a tu aplicación. Los archivos de vista Blade usan la extensión de archivo .blade.php.

Lamentablemente, Blade no es compatible oficialmente con el equipo de Laravel fuera del Framework y hay muchas otras implementaciones públicas que se supone que funcionan como el motor de plantilla Blade original, sin embargo, no todas son dignas. te recomendamos 2 alternativas para blade que son gratuitas (licencia MIT, es decir, cerrar código fuente / privado está bien) en un solo archivo y sin una sola dependencia de una biblioteca externa.

4. Volt

Volt es un lenguaje de plantillas ultrarrápido y fácil de diseñar, escrito en C para PHP. te proporciona un conjunto de ayudantes para escribir vistas de una manera sencilla. Volt está altamente integrado con otros componentes de Phalcon, al igual que puedes usarlo como un componente independiente en tus aplicaciones. Volt está inspirado en  Jinja , creado originalmente por  Armin Ronacher . Por lo tanto, muchos desarrolladores estarán en territorio familiar utilizando la misma sintaxis que han estado usando con motores de plantilla similares. La sintaxis y las funciones de Volt se han mejorado con más elementos y, por supuesto, con el rendimiento al que los desarrolladores estaban acostumbrados mientras trabajaban con Phalcon. El siguiente fragmento proporciona una vista previa rápida de cómo se ve el código de Volt:

{# app/views/products/show.volt #}

{% block last_products %}

{% for product in products %}
    * Name: {{ product.name|e }}
    {% if product.status === 'Active' %}
       Price: {{ product.price + product.taxes/100 }}
    {% endif  %}
{% endfor  %}

{% endblock %}

3. Dwoo

Dwoo (/ diː-wu: /) (estilizado como dwoo) es un motor de plantillas de objetos moderno, flexible y orientado para PHP, que facilita la separación de la presentación (HTML / CSS) de la lógica de la aplicación. En muchos aspectos, dwoo es compatible con las plantillas y complementos de Smarty porque el autor de dwoo lo basó en las ideas generales que Smarty ha introducido en el mundo del desarrollo web. Iniciado a principios de 2008 por Jordi Boggiano, la idea surgió del hecho de que Smarty está envejeciendo cada vez más. Lleva el peso de su antigüedad, tiene características antiguas que son inconsistentes en comparación con las más nuevas, está escrito para PHP4, no aprovecha las características más avanzadas de PHP5 en el área.

El motor de plantillas de Dwoo aprovecha las nuevas funciones que ofrece PHP5. Por lo tanto, es un motor de plantillas bien escrito y orientado a objetos que permite un desarrollo más fácil y rápido en comparación con Smarty y, aún así, es lo suficientemente compatible como para permitir que los desarrolladores que usan Smarty hagan una transición sin problemas a dwoo. El siguiente fragmento proporciona una vista previa de cómo se ve la sintaxis de Dwoo:

<!DOCTYPE html>
<html>
    <head>
        <title>Mi Sitio Web!</title>
    </head>
    <body>
        <ul id="navigation">
        {foreach $navigation item}
            <li><a href="{$item.href}">{$item.caption}</a></li>
        {/foreach}
        </ul>

        <h1>Mi sitio web.</h1>
        {$a_variable}
    </body>
</html>

2. Smarty

Smarty Templates Open Source PHP Template Engine

Smarty es un motor de plantilla para PHP, que facilita la separación de la presentación (HTML / CSS) de la lógica de la aplicación. Esto implica que el código PHP es lógica de aplicación y está separado de la presentación. Bajo el capó, Smarty compila copias de las plantillas como scripts PHP. De esta forma, obtiene los beneficios tanto de la sintaxis de la etiqueta de la plantilla como de la velocidad de PHP. La compilación ocurre una vez cuando se invoca cada plantilla por primera vez, y luego se utilizan las versiones compiladas a partir de ese momento. Smarty se encarga de esto por ti, por lo que el diseñador de plantillas simplemente edita las plantillas de Smarty y nunca tienes que administrar las versiones compiladas. Este enfoque mantiene las plantillas fáciles de mantener y, sin embargo, mantiene los tiempos de ejecución extremadamente rápidos. Dado que las versiones compiladas son PHP, los aceleradores de código de operación como APC o ZendCache continúan trabajando en los scripts compilados.

Smarty es un motor de plantillas y funciona como el componente (V) iew de su aplicación. Smarty se puede acoplar fácilmente a cualquiera de los motores enumerados anteriormente como componente de vista. No es diferente de cualquier otro software, Smarty tiene una curva de aprendizaje. Smarty no garantiza un buen diseño de la aplicación o una separación adecuada de la presentación, esto aún debe ser abordado por un desarrollador y diseñador web competente. El siguiente fragmento proporciona una vista previa de cómo se ve la sintaxis de Smarty:

{include file="header.tpl" title="Info"}

User Information:<p>

Name: {$name|capitalize}<br>
Address: {$address|escape}<br>

{include file="footer.tpl"}

1. Twig

Github

Twig Template Engine for PHP

Twig es un lenguaje de plantilla para PHP, lanzado bajo la nueva licencia BSD (código y documentación). Twig usa una sintaxis similar a los lenguajes de plantilla Django y Jinja que inspiraron el entorno de ejecución de Twig. 

  • Rápido : Twig compila plantillas en código PHP simple y optimizado. La sobrecarga en comparación con el código PHP normal se redujo al mínimo.  
  • Seguro : Twig tiene un modo sandbox para evaluar el código de plantilla que no es de confianza. Esto permite que Twig se utilice como lenguaje de plantilla para aplicaciones donde los usuarios pueden modificar el diseño de la plantilla.  
  • Flexible : Twig funciona con un analizador y lexer flexible . Esto le permite al desarrollador definir sus propias etiquetas y filtros personalizados, y crear su propio DSL.   

Twig admite todo lo que necesitas para crear plantillas potentes con facilidad: herencia múltiple, bloques, escape de salida automático y mucho más. La sintaxis es fácil de aprender y ha sido optimizada para permitir que los diseñadores web hagan su trabajo rápidamente sin estorbar. El siguiente fragmento proporciona una vista previa de la sintaxis de este motor de plantillas:

<div class="form-control">
    <i class="fa fa-calendar"></i> {{ form_label(form.dueDate) }}
    {{ form_widget(form.dueDate) }}

    <small>{{ form_help(form.dueDate) }}</small>

    <div class="form-error">
        {{ form_errors(form.dueDate) }}
    </div>
</div>

Honorable mentions

Latte

Github

Latte PHP Templating Engine

Latte es un motor de plantillas para PHP que facilita tu trabajo y garantiza que la salida esté protegida contra vulnerabilidades, como XSS.

  • Latte es rápido:  compila plantillas en código PHP simple y optimizado.
  • Latte es seguro:  es el primer motor PHP que introduce el escape con reconocimiento de contenido.
  • Latte habla tu idioma:  tiene una sintaxis intuitiva y te ayuda a crear mejores sitios web fácilmente.

La sintaxis del latte es:

<ul n:if="$items">
{foreach $items as $item}
	<li id="item-{$iterator->counter}">{$item|capitalize}</li>
{/foreach}
</ul>

La documentación se puede encontrar en el sitio web . 

Si conoces otro motor de plantillas basado en PHP increíble, compártelo con la comunidad en el cuadro de comentarios.

Esto podria interesarte

Conviertete en un programador más sociable