Blade Templates

Laravel
Tempo de leitura: 4 minutos

Blade Templates: O Blade é o motor de templates padrão e mais popular do Laravel 12. Ele é projetado para simplificar a tarefa de escrever código de apresentação (HTML) em suas Views, mantendo uma sintaxe concisa e intuitiva. Ao contrário de outros motores, o Blade não restringe o uso de código PHP puro, mas oferece diretivas poderosas que tornam a lógica de controle de fluxo (condicionais e loops) mais legível.

O grande diferencial do Blade é que ele compila todas as Views em código PHP puro e as armazena em cache, garantindo performance otimizada em produção.

1. 📝 Sintaxe Básica e Exibição de Dados

As Views Blade são salvas com a extensão .blade.php (ex: welcome.blade.php) no diretório resources/views.

A. Exibição Segura

Para exibir dados passados do Controller (variáveis), você usa chaves duplas. O Blade automaticamente escapa o conteúdo (converte HTML e scripts em entidades HTML) para prevenir ataques de Cross-Site Scripting (XSS).

HTML

<h1>Olá, {{ $nome }}!</h1>

B. Exibição Não-Escapada (Cuidado!)

Se você tiver certeza de que a variável é segura (ex: um conteúdo HTML gerado internamente e não por um usuário) e precisa renderizar HTML puro, use chaves com ponto de exclamação:

HTML

<div> {!! $htmlPuro !!} </div> 

2. ⚙️ Diretivas Blade para Fluxo de Controle

As Diretivas Blade são instruções especiais que começam com o símbolo @ e controlam a lógica da apresentação.

A. Condicionais

O Blade oferece equivalentes mais limpos às estruturas if/else do PHP:

HTML

@if(Auth::check())
    <p>Você está logado!</p>
@elseif($idade < 18)
    <p>Você é menor de idade.</p>
@else 
    <p>Faça login para continuar.</p>
@endif

@isset($record)
    <p>O registro existe.</p>
@endisset

B. Iteração (Loops)

Diretivas para percorrer arrays e coleções:

HTML

<ul>
    @foreach($produtos as $produto) 
        <li>{{ $loop->iteration }}. {{ $produto['nome'] }}</li> 
        
        @if($loop->last)
            <hr>
        @endif
    @endforeach
</ul>

@forelse($carrinho as $item)
    <li>{{ $item->nome }}</li>
@empty
    <p>Seu carrinho está vazio.</p>
@endforelse

C. Inclusões

Para incluir conteúdo de outra View dentro da atual (ótimo para pequenos partials como rodapés ou barras de navegação):

HTML

@include('partials.header')

3. 🧩 Componentes e Herança de Layouts

Estes são os recursos mais importantes do Blade para criar interfaces grandes e reutilizáveis.

A. Herança de Layouts

Permite definir um Layout Mestre (esqueleto da página) e estender essa estrutura em Views filhas.

  1. Layout Mestre (Ex: layouts/master.blade.php): Define áreas (@yield ou @section) que serão preenchidas.
  2. View Filha (Ex: site/home.blade.php): Estende o layout e preenche as seções.

HTML

@extends('layouts.master')

@section('title')
    <title>Página Inicial</title>
@endsection

@section('content')
    <h1>Conteúdo principal da página.</h1>
@endsection

B. Componentes

Componentes Blade permitem criar tags HTML customizadas e reutilizáveis (como <x-alert>) que encapsulam lógica e marcação.

  • Uso: <x-alert type="success">Mensagem</x-alert>
  • Slots: Componentes podem receber conteúdo entre as tags, chamado $slot. Podem também ter slots nomeados.

HTML

<x-card>
    <x-slot:header>
        Título do Card
    </x-slot:header>

    Conteúdo principal do card (vai para o $slot padrão)
</x-card>

4. 🗄️ Formulários e Proteção CSRF

O Blade facilita a inclusão de campos de proteção de segurança:

HTML

<form method="POST" action="/register">
    @csrf 
    
    <label for="name">Nome:</label>
    <input type="text" name="name"/>
    
    <button type="submit">Cadastrar</button>
</form>

Nota: Se você estiver usando métodos HTTP como PUT, PATCH ou DELETE, você também deve usar a diretiva @method('PUT') (ou correspondente) dentro do formulário, pois o HTML não suporta esses métodos nativamente em formulários.

✅ Conclusão Blade Templates

Blade Templates: O Blade Laravel é a ferramenta que leva a apresentação da sua aplicação a um novo nível de clareza e reutilização. Com sua sintaxe de diretivas (@) e recursos poderosos como Herança de Layouts e Componentes, ele permite que os desenvolvedores criem interfaces robustas e fáceis de manter, enquanto a escapagem automática de HTML fornece uma camada de segurança vital contra XSS.

Mas antes de dominar o Laravel, se for o seu caso, toda jornada tem um início. Vamos entender quais são os conhecimentos básicos necessários para aproveitar ao máximo este poderoso framework. Para iniciar seus estudos no Laravel, você precisará dominar as seguintes tecnologias:

HTML
HTML
CSS
CSS
Javascript
JavaScript
SQL
SQL
Capa Curso PHP
PHP

E se você gosta do nosso conteúdo, não deixe de contribuir adquirindo os serviços e produtos dos nossos apoiadores e empresas que somos associados:

Hospedagem Hostinger
Ofertas Amazon
Amazon Prime
Author: Thiago Rossi
Com mais de 20 anos de jornada na tecnologia, minha trajetória evoluiu do ensino técnico à arquitetura de sistemas complexos. Hoje, foco minha expertise no desenvolvimento de soluções de Inteligência Artificial nativa e análise de dados públicos, utilizando o ecossistema PHP para transformar dados brutos em transparência e eficiência. Como autor e desenvolvedor, acredito na democratização do conhecimento. Essa visão resultou em uma biblioteca de mais de 530 artigos gratuitos, cobrindo desde a base do WebDev e Infraestrutura até os bastidores da indústria de Jogos e IA. No universo de Game Design, sou autor do livro "GDD – O Guia Definitivo" e documento ativamente meus processos através de DevLogs, unindo rigor técnico e criatividade em projetos desenvolvidos com GDevelop 5. Meu compromisso é conectar engenharia de ponta com as reais oportunidades do mercado de tecnologia.