En un artículo anterior, haciendo una breve introducción a Laravel mencionamos que las vistas en este framework se escribían haciendo uso de un motor de plantillas llamado Blade, el cual es muy potente y que entre sus muchas ventajas tenemos:
Posibilidad de extender una plantilla a otra con el fin de ahorrar código y hacer mucho más mantenible nuestras aplicaciones.
En blade se inserta código Php haciendo uso de las llaves. {{}} que además de solucionar el problema del código espaguetti, aporta en la seguridad de las aplicaciones previniendo ataques XSS.
🌟 ¡Visita Nuestra Tienda para Programadores! 🌟Descubre Códigos Fuente, Cursos, Software, Computadoras, Accesorios y Regalos Exclusivos. ¡Todo lo que necesitas para llevar tu programación al siguiente nivel!
Posibilidad de recibir parámetros en las vistas.
Posibilidad de ejecutar código Php nativo en cualquier momento.
Ejemplo básico de plantilla en blade:
@section('sidebar')
This is the master sidebar.
@show
Como podemos apreciar estamos haciendo el llamado de partes de la pagina desde otros ficheros de vista como lo son el title, sidebar, content o como también se le llama secciones.
Extendiendo de una vista:
Extender una vista nos ayuda a tener un código más limpio y manejable, veamos como podemos extender:
Digamos que tenemos esta vista principal la llamare app.blade.php
< !DOCTYPE html>
@yield('content')
@yield('scripts')
Ahora podemos construir una vista que extienda de esta para aprovechar el diseño y la programación realizada en ella, así:
@extends('app')
@section('content')
@endsection
El contenido de la vista anterior no es estrictamente necesario, podemos hacer uso del html que deseemos.
Condicionales:
Al igual que en Php nativo podemos hacer uso indudablemente de condiciones para validar información, veamos la estructura de un condicional en Laravel:
@if (count($records) === 1)
Un Registro
@elseif (count($records) > 1)
Más de un registro
@else
No se encontraron registros
@endif
Bucles: Usuario: {{ $user->id }} @forelse ($users as $user) @empty No hay usuarios @endforelse @while (true) Soy un bucle infinito. @endwhile
Así es también tenemos disponibles para nosotros en Laravel ciclos repetitivos:
@for ($i = 0; $i < 10; $i++)
Valor actual {{ $i }}
@endfor
@foreach ($users as $user)
@endforeach