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 experiência em tecnologia, atuo como Engenheiro de Computação, desenvolvedor de sistemas, escritor e produtor de conteúdo. Minha trajetória passa pelo ensino técnico, desenvolvimento web, arquitetura de sistemas e criação de soluções voltadas para a indústria de jogos digitais. Acredito que conhecimento deve ser acessível e aplicável. Essa visão resultou em uma biblioteca com mais de 550 artigos gratuitos, abrangendo temas como desenvolvimento web, infraestrutura, inteligência artificial, Game Design, mercado de jogos e carreiras na indústria de games. Sou autor do livro "GDD – O Guia Definitivo", uma obra dedicada ao planejamento e documentação de jogos digitais, e criador do GameMeTRix, uma plataforma que auxilia desenvolvedores na análise e validação de ideias para jogos. Meu trabalho busca conectar planejamento, tecnologia e mercado para ajudar criadores a transformar boas ideias em projetos viáveis. Atualmente concentro meus estudos e projetos no desenvolvimento de jogos web, na criação de metodologias para validação de produtos digitais e na produção de conteúdo técnico voltado ao ecossistema de jogos. Meu compromisso é unir teoria, prática e experiência de mercado para contribuir com o crescimento de novos desenvolvedores e profissionais da área.