Blade y views en Laravel
                                
                Estructura de una vista en Laravel
Las vistas son consideradas el contenido de un proyecto que es mostrado al usuario donde el usuario puede interactuar y desde donde puede realizar acciones. En Laravel se alojan en el directorio resources/views y contienen un sufijo .blade.
Laravel dispone de un sistema de plantillas llamado blade similar al de otros frameworks que permite dar más flexibidad a la composición de las vistas y dotan de características propias que proporcionan seguridad al proyecto. Con este sistema es posible crear plantillas y después integrar estas plantillas a las vistas asignando o modificando secciones de dicha plantilla. De esta forma se evita repetición de código utilizando la misma plantilla o plantillas para varias vistas.
Estructura de una plantilla:
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><meta name="description" content=""><meta name="author" content=""><link rel="icon" href="favicon.ico"><title>@yield("title")</title><!-- Bootstrap core CSS --><link rel="stylesheet" href="//stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" integrity="sha384-9gVQ4dYFwwWSjIDZnLEWnxCjeSWFphJiwGPXr1jddIhOegiu1FwO5qRGvFXOdJZ4" crossorigin="anonymous"><!-- Custom styles for this template --><link href="{{ asset("css/style.css")}}" rel="stylesheet"></head><body><div class="row mt-3"><div class="col-8">@yield("content")</div><div class="col-4">@section("sidebar")<h2>Barra Lateral</h2>@show</div></div></main><footer class="footer"><div class="container"><span class="text-muted">Place sticky footer content here.</span></div></footer><!-- Bootstrap core JavaScript================================================== --><!-- Placed at the end of the document so the pages load faster --><script src="//code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script><script src="//cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js" integrity="sha384-cs/chFZiN24E4KMATLdqdvsezGxaGsi4hLGOzlXwp5UZB1LY//20VyM2taTB4QvJ" crossorigin="anonymous"></script><script src="//stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js" integrity="sha384-uefMccjFJAIv6A+rW+L4AHf99KvxDjWSu1z9VI8SKNVmz4sk7buKt/6v9KI65qnm" crossorigin="anonymous"></script></body></html>
Estructura de una vista que extiende de una plantilla:
@extends("layout")@section("title","Usuario {$id}")@section("content")Mostrando detalle del usuario: {{$id}}@endsection
Laravel permite mostrar los datos con métodos propios de laravel pero también permite con puro php :
echo $datos;
Laravel dispone de opciones que actúan como filtro aumentando la seguridad en el flujo de datos que PHP :
echo e($datos);
{{ $datos }}
Para realizar un include se hace de forma similar a como se haría en PHP pero incluyendo la @ al comienzo y prescindiendo de la extensión .php:
@include("nombre_de_archivo")
Para poder comentar es necesario iniciar sesión