GlosarioFrontend

¿Qué es Blade?

Blade es el motor de plantillas de Laravel que permite escribir vistas HTML con sintaxis PHP simplificada, ofreciendo herencia de plantillas, componentes reutilizables y directivas como @if, @foreach y @extends.

Blade Templates

Blade es el motor de plantillas incluido en Laravel. A diferencia de otros motores, Blade no impide usar PHP puro en las vistas, pero proporciona una sintaxis mas limpia y funcionalidades adicionales como herencia de layouts y componentes.

Sintaxis basica

{{-- Mostrar datos (con escape automatico contra XSS) --}}
<h1>{{ $post->title }}</h1>

{{-- Directivas de control --}}
@if($posts->count() > 0)
    @foreach($posts as $post)
        <article>
            <h2>{{ $post->title }}</h2>
            <p>{{ $post->excerpt }}</p>
        </article>
    @endforeach
@else
    <p>No hay posts disponibles.</p>
@endif

Componentes Blade

Desde Laravel 7+, Blade soporta componentes basados en clases y componentes anonimos, similares a los frameworks frontend modernos.

{{-- Componente anonimo resources/views/components/alert.blade.php --}}
@props(['type' => 'info', 'message'])

<div class="alert alert-{{ $type }}">
    {{ $message }}
</div>

{{-- Uso del componente --}}
<x-alert type="success" message="Operacion completada" />

Layouts

{{-- Layout principal --}}
<html>
<body>
    @yield('content')
</body>
</html>

{{-- Vista hija --}}
@extends('layouts.app')
@section('content')
    <h1>Mi pagina</h1>
@endsection

Blade compila las vistas a PHP puro y las cachea, por lo que no tiene impacto en el rendimiento. Es la opcion por defecto para renderizado del lado del servidor en Laravel.