Inicio > Recursos > Desarrollo Web > PHP > Generando páginas con el sistema de plantillas {{ Mustache }}
Generando páginas con el sistema de plantillas {{ Mustache }}
- Desarrollo Web, PHP
- Sistema de plantillas
- 10 julio 2018
Mustache para mi es uno de los mejores sistemas de plantilla con lo que he trabajado, Twig y Blade también han pasado por mis manos, de hecho como sabéis Laravel trabaja por defecto con Blade y además podemos incluir Mustache en nuestros proyectos.
En un principio sin usar Laravel, Mustache es un sistema de plantilla supe fácil de usar y está disponible para un montón de lenguajes de programación. Yo por mi trabajo, he trabajado con PHP, JAVA, JS y .NET.
Lo primero que hay que hacer es ir a la página de sus creadores (https://mustache.github.io/) , aquí podeis ver como la llave se convierte en un bigote y que hay ejemplos en casi todos los lenguajes.
En uno de mis proyectos use Mustache para generar un sistema de mailing, recuperaba todos los usuarios de WordPress y mandaba un email usando el template que estaba definido en otra página. Se puede hacer de muchas formas pero para mí es muy útil y al haber trabajdo muchas veces con este tipo de plantillas me resulta muy cómodo.
Un ejemplo rápido que podéis ver aquí
http://carlosgonzalezgurrea.es/adjuntos/mustache/
Página PHP
require 'Mustache/Autoloader.php'; Mustache_Autoloader::register(); $data = array('nombre' => 'Carlos González Gurrea','puesto' => 'Programador Web','descripcion' => '20 años..... casi de desarrollo'); $m = new Mustache_Engine(array( 'cache' => dirname(__FILE__).'/templates/cache/mustache' )); echo "Leemos la plantilla bienvenido.mustache y añadimos los datos del usuario"; echo $m->render(file_get_contents('template/bienvenido.mustache'),$data);
Plantilla dentro del directorio template
<h1>{{nombre}}</h1> <h2>{{puesto}}</h2> <p>{{descripcion}}</p>
Y con generamos una página como la que visteis en el enlace superior.
Podéis descargar el código aquí (https://www.carlosgonzalezgurrea.es/adjuntos/mustache/mustache.zip).
Intentaré crear algo parecido con blade/mustache y laravel.
Un saludo