¿Olvidaste tu o clave?
soroF
golB selai rotuT
Entrar
Contraseña
sosrs u C elai rotutoediV
o
Buscar..
cm io C
l a i ro t u t nu ac i l buP ?ba l a t s i rC se éuQ¿
sgaTso l pme jE sona t cá t noC
emi nA
Buscar
¿Qué quieres buscar?
» Tutoriales / Blade, el sistema de plantillas de Laravel
Blade, el sistema de plantillas de Laravel Por Duilio el 01 de Octubre de 2013 con 4,349 visitas PHP, MySQL y Servidor Otros tutoriales por Duilio.
Like
Test de Mathématiques www.test-Math.com Découvrez votre niveau en Maths. Faites notre test de Mathématiques.
6
25 Twittear
Para cerrar esta primera parte de los tutoriales quiero mostrarles cómo funcionan las vistas en Laravel. Este es quizás el tutorial más fácil de todos. Veremos cómo usar el sistema de plantillas de Laravel llamado Blade. No te pierdas los anteriores tutoriales de Laravel: introducción a Laravel, su instalación, Cómo configurar la base de datos y crear migraciones, las rutas y los controladores.
Banoicnuf m o óc y se éQ u Blade es básicamente un sub-lenguaje muy sencillo, que antes de ser usado por nuestra aplicación, es compilado a PHP plano. Para usar Blade, simplemente creen sus plantillas en el directorio views/ con la extensión .blade.php en vez de .php. Por ejemplo: Código :
views/template.blade.php
Ahora creen una ruta o controlador que llame a la plantilla (ya saben cómo, ¿Cierto?) En caso de que no… En app/routes.php pongan esto: Código :
Route::get('template', function () { return View::make('template'); });
Ahora en views/template.blade.php escriban algo de HTML: Código :
Hello Cristalab 6h1n5q
Bastante básico, es decir, en este punto da igual si usamos Blade o no… Pero, vamos a ver:
satsiv r ibi rcsem o ó C Ok, supongamos que, como en ejemplos anteriores, queremos usar un nombre variable:
Código :
Route::get('template/{name}', function ($name) { $name = ucwords(str_replace('-', ' ', $name)); return View::make('template')->with('name', $name); });
En este caso, para hacer el ejemplo más interesante, lo pasamos por la ruta, y luego lo asignamos a la vista, con el método ->with() que va concatenado a View::make, fíjense: Código :
View::make('template')->with('name', $name)
Ok, ahora en nuestra vista, si estuviéramos usando sólo PHP, tendríamos que escribir algo así: Código :
Hello 3h295g
Pero gracias a Blade, podemos escribirlo así: Código :
Hello {{ $name }} 481b1x
Básicamente: {{ }} es un sustituto de que por un lado es más corto y fácil de escribir, por otro usar etiquetas PHP () se “mezcla” con las etiquetas del HTML, así que usar motores como Blade es más “limpio” por así decirlo. Blade sólo reemplaza {{ * }} por , es decir, todo el código PHP que quieras escribir es válido dentro de {{ }}, por ejemplo:
Código :
Hello {{ strtoupper($name) }} 2z5nr
Otros motores de plantillas para PHP más avanzados como Smarty o Twig compiladores más poderosos, que permiten usar, por ejemplo, sintaxis de punto para los arrays, la cual no es soportada por PHP, etc.
tcur tse r ibi rcsem o ó C Por último veremos cómo se escriben estructuras de control sencillas pero muy comunes como IF y FOREACH. Blade tiene una sintaxis bien simple, por ejemplo: Código :
@if ($name == 'Walter White' OR $name == 'Jesse Pinkman')
Goodbye Breaking Bad 391k34
@else
Hello {{ $name }} 481b1x
@endif
Nuevamente, todo lo que está dentro del paréntesis del IF es PHP común y corriente, lo que cambia es que en vez de escribir:
Código :
O:
Código :
Escribimos:
Código :
@if (...)
Es una sintaxis mucho más limpia y adecuada para nuestras vistas… Por supuesto, si están escribiendo los ejemplos pueden ejecutarlos en el navegador, escribiendo algo como: Código :
http://localhost/pruebalaravel/public/template/walter+white
Esto es con respecto a la sintaxis, pero Blade también nos brinda una herramienta potente para escribir vistas:
varaL ne stuoyaL ed oU s Casi todos los proyectos, por no decir todos, tienen un “layout” que consiste, por lo general en un header + un footer. Por ejemplo fíjense Cristalab.com ¿Han visitado esa página? Todas las páginas dentro del site cristalab.com llevan en la cabecera el logo de Cristalab + el menú etc. y en el pie de página tiene el menú repetido y la foto de Freddier en un pony (bueno no, pero sería más divertido). Ese HTML que se repite en cada página se llama layout y en Blade podemos escribirlo así: Creen una vista llamada:
Código :
views/layout.blade.php
Con el siguiente HTML de ejemplo:
Código :
<meta charset="utf-8">
Aprendiendo Laravel 2925m @yield('content')
Copyright 2013 - Todos los ponies reservados.