En esta lección comenzaremos a aprender sobre Blade, el sistema de plantillas de Laravel, el cual nos provee de muchas características que deberíamos tener en un lenguaje de plantillas, como por ejemplo la capacidad de escapar los datos de forma automática.

Repositorio

Ver el código de esta lección en GitHub

Suscríbete a nuestro boletín

Te enviaremos publicaciones con consejos útiles y múltiples recursos para que sigas aprendiendo.

Notas

Para utilizar el sistema de plantillas de Laravel debemos renombrar nuestras vistas para que tengan la extensión .blade.php.

Imprimir variables

Si queremos imprimir una variable, podemos hacerlo utilizando la sintaxis de dobles llaves {{ }}

Ciclos y estructuras

Si queremos utilizar ciclos y estructuras condicionales, podemos utilizar directivas. Las directivas de Blade van precedidas por un arroba (@) y luego el nombre de la directiva:

También podemos utilizar la directiva @if:

La directiva @if puede ser utilizada junto con un bloque else (utilizando @else):

Podemos utilizar la directiva @elseif, que como su nombre sugiere nos permite utilizar un bloque else if:

Blade también tiene la directiva @unless, que funciona como un condicional inverso:

En el ejemplo anterior queremos mostrar el listado de usuarios a no ser que la lista esté vacia. De lo contrario queremos mostrar el mensaje del bloque else.

También podemos utilizar la directiva @empty que es una forma más corta de escribir @if (empty (...))

En este caso por supuesto invertimos los bloques dentro del condicional.

Además de @foreach, también podemos utilizar @for:

Con la directiva @forelse podemos asignar una opción por defecto a un ciclo foreach sin utilizar bloques anidados:

Cuando utilizamos la sintaxis de dobles llaves Blade nos protege automáticamente de ataques XSS.

Vistas en caché

Laravel compila y guarda en caché nuestras vistas, por lo que usar el motor de plantillas Blade no afecta el rendimiento de nuestra aplicación. Puedes ver estas vistas compiladas en el directorio /storage/framework/views.

Utilizando el comando view:clear podemos eliminar desde la terminal la vistas en caché:

Ejercicio

En UserController asigna y crea vistas para las otras acciones y practica pasando datos a la vista.

Material relacionado

Únete a la discusión

Regístrate en Styde y obtén una invitación a nuestro Slack.

Lección anterior Vistas en Laravel Lección siguiente Layouts con Blade