O Blade é o mecanismo de templates (views) padrão no Laravel. Ele permite que você crie e exiba facilmente as visualizações do seu aplicativo de forma dinâmica, incorporando código PHP no HTML. O Blade facilita a separação da lógica do controlador das visualizações, tornando o desenvolvimento mais organizado e legível.

Vamos usar as rotas web definidas no exemplo anterior, associando-as ao Blade para criar as visualizações correspondentes.

Exemplo usando Blade:

  1. Visualização da lista de usuários (users.index):

Crie um arquivo chamado index.blade.php no diretório resources/views/users/.

<!-- resources/views/users/index.blade.php -->

@extends('layout')

@section('content')
    <h1>Lista de Usuários</h1>
    <ul>
        @foreach ($users as $user)
            <li>
                <a href="{{ route('users.show', ['id' => $user->id]) }}">
                    {{ $user->name }}
                </a>
            </li>
        @endforeach
    </ul>
@endsection

Neste exemplo, estendemos o layout principal (que ainda não criamos, mas criaremos em seguida) usando a diretiva @extends('layout'). Em seguida, criamos um conteúdo específico para esta view usando a diretiva @section('content'). Usamos a diretiva @foreach para iterar sobre a lista de usuários e exibir seus nomes como links para a visualização de detalhes.

  1. Visualização de detalhes do usuário (users.show):

Crie um arquivo chamado show.blade.php no diretório resources/views/users/.

<!-- resources/views/users/show.blade.php -->

@extends('layout')

@section('content')
    <h1>Detalhes do Usuário</h1>
    <p><strong>Nome:</strong> {{ $user->name }}</p>
    <p><strong>E-mail:</strong> {{ $user->email }}</p>
    <p><strong>Status:</strong> {{ $user->status }}</p>
    <a href="{{ route('users.index') }}">Voltar para a lista de usuários</a>
@endsection

Neste exemplo, novamente estendemos o layout principal e criamos um conteúdo específico para esta view. Exibimos os detalhes do usuário usando os dados passados do controlador através da variável $user.

  1. Layout principal (layout.blade.php):

Crie um arquivo chamado layout.blade.php no diretório resources/views/.

<!-- resources/views/layout.blade.php -->

<!DOCTYPE html>
<html>
<head>
    <title>Meu Aplicativo Laravel</title>
</head>
<body>
    <div class="container">
        @yield('content')
    </div>
</body>
</html>

Este é o layout principal que todas as visualizações herdarão. Neste exemplo, definimos um layout simples com um título e um contêiner onde o conteúdo específico de cada view será inserido usando a diretiva @yield('content').

Rotas para as views:

Agora, precisamos associar as rotas web.

// routes/web.php

use App\\\\Http\\\\Controllers\\\\UserController;

Route::get('/users', [UserController::class, 'index'])->name('users.index');
Route::get('/users/{id}', [UserController::class, 'show'])->name('users.show');

Com isso, as rotas /users e /users/{id} estão associadas aos métodos index() e show($id) do controlador UserController, respectivamente. Quando essas rotas são acessadas, o controlador retorna as visualizações Blade correspondentes.

Dessa forma, você criou uma estrutura simples de exibição usando o Blade no Laravel. As views são uma parte importante do desenvolvimento em Laravel, e o Blade torna a criação e exibição de páginas dinâmicas muito mais fácil e eficiente. Você pode adicionar mais lógica às suas visualizações, como condições, loops e mais, para criar páginas ricas e interativas para seus usuários. Lembre-se de consultar a documentação oficial do Laravel para obter mais informações detalhadas sobre o Blade e todas as suas funcionalidades.