vistes i layouts en laravel 11 (views)

En Laravel 11, les vistes (views) i els layouts són conceptes fonamentals per estructurar i organitzar el contingut que es mostrarà als usuaris. A continuació, t'explico una mica sobre aquests conceptes:

 

Vistes i Layouts en Laravel 11

En Laravel 11, el sistema de vistes i layouts es basa en Blade, el motor de plantilles integrat que permet escriure codi de manera més neta i reutilitzable.

📌 Com funcionen les vistes en Laravel 11?

Les vistes són arxius .blade.php que es troben a la carpeta resources/views/ i serveixen per mostrar la interfície d'usuari. Es poden retornar des d'un controlador amb:

return view('nom_de_la_vista');


I en el controlador pots carregar-la així:

use Illuminate\Support\Facades\Route;

Route::get('/', function () {
    return view('home');
});

📌 Layouts en Laravel 11

Els layouts són plantilles mestres que s’utilitzen per evitar repetir el mateix codi a diverses vistes. Laravel permet crear un layout principal i després inserir-hi contingut dinàmic.

🔹 1. Crear un layout principal (layouts/app.blade.php)

Situat a resources/views/layouts/app.blade.php, pot contenir l’estructura HTML bàsica:

🔹 2. Crear una vista que utilitza el layout (home.blade.php)

@extends('layouts.app')

@section('title', 'Inici')

@section('content')
    <h2>Benvingut a la meva aplicació Laravel 11</h2>
    <p>Aquesta és la pàgina principal.</p>
@endsection

💡 Explicació:
  • @extends('layouts.app') indica que aquesta vista hereta de app.blade.php.
  • @section('title', 'Inici') defineix el contingut de la secció @yield('title').
  • @section('content') omple la secció @yield('content') del layout.

📌 Passar dades a les vistes

El controlador pot enviar dades a la vista així:

use Illuminate\Support\Facades\Route;

Route::get('/home', function () {
    return view('home', ['nom' => 'Joan']);
});

A la vista, pots accedir-hi així:

<p>Hola, {{ $nom }}</p>

💡 Si la variable pot ser null, usa {{ $nom ?? 'Usuari' }} per evitar errors.

📌 Components Blade (Laravel 11)

Laravel també té components, que permeten reutilitzar parts de la interfície.

🔹 1. Crear un component (resources/views/components/button.blade.php)

<button class="btn">{{ $slot }}</button>

🔹 2. Utilitzar-lo en una vista

<x-button>Fes clic aquí</x-button>

📌 Conclusió

  • Les vistes són arxius .blade.php situats a resources/views/.
  • Els layouts permeten estructurar millor el codi mitjançant @extends i @yield.
  • Els components Blade faciliten la reutilització de codi.

Amb Laravel 11, el sistema de vistes és molt flexible i eficient! 🚀