Laravel #4 - Comprendre la base de blade

Edité le 15/04/2021

Commençons par un cas concret, j'ai une page de profil d'un utilisateur, pour afficher son nom je vais devoir mélanger php à mon html. Malheureusement cette solution va vite rendre le code illisible.

Découvrons ensemble tout les avantages de blade.


Templating

Ce concept est simple, il permet de mettre en place la base du site (comme par exemple le header, la structure et le footer) et ce une seule fois.

Commençons par créer une view (resources/views) qui s'appelle layout.blade.php, ce layout sera la base du site.



<html>
<head>
    <title>Mon super sitetitle>

    {{-- Bootstrap --}}
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z" crossorigin="anonymous">
head>

<body class="bg-dark">
    <div class="container border bg-light" style="min-height: 100vh;">
        <header class="border-bottom py-3">
            <h4>Mon super siteh4>
        header>

        <div class="content mt-3">
            @yield('content')
        div>
    div>
body>
html>


On constate que j'ai importé bootstrap, c'est à dire qu'à chaque fois que j'appelle ce layout, bootstrap sera automatiquement chargé.

Dans cette page il y a seulement un header, et un yield. Avec ce yield, je vais "ouvrir un slot" où je vais pouvoir par la suite importé du code dedans.

Pour comprendre vraiment l'utilité du templating, nous allons reprendre notre vue first.blade.php du Précédent tutorial.


@extends('layout')

@section('content')
    

Bienvenue à tous,
Je suis en train d'apprendre le templating.

@endsection


C'est maintenant que le layout prend tout son sens. Maintenant, pour développer une nouvelle page sur mon site, il me suffit d'étendre de mon layout.

Il faut imaginer que lorsqu'on étend de layout il est importé sur notre page, et avec les @section on rempli les slots ouvert précédemment.

Le plus long dans le templating est bien évidemment de mettre en place le template, ensuite il est assez de rapide d'ajouter de nouvelle page.

 

Afficher une variable

Dans le précédent tutoriel nous avons vu comment avoir dans la donnée dans notre vue, pour l'afficher il suffit de faire

{{ $maVariable }}

Il suffit d'utiliser la double accolade pour l'afficher.


Les conditions php

Pour ajouter des conditions, il suffit de faire:

@if ($user->age >= 18)
        Vous êtes majeur 
@endif


Il est également facile d'utiliser un switch :

@switch ($gender)         
         @case('male')
                 Vous êtes un homme
         @case('female')
                 Vous êtes une femme
         @default
                 Vous êtes ni un homme ni une femme
@endswitch

 

Comme vous pouvez le constater, on peut facilement utiliser de l'html au milieu des conditions, en laissant un code propre.

Les boucles

@for ($i = 0; $i < 10; $i++
      La valeur de i est {{ $i }} 
@endfor


@foreach ($users as $user)
        

User id: {{ $user->id }}

@endforeach


@while (true)
        Je suis une boucle infinie
@endwhile


Je pense avoir fait le tour de blade, en tout cas vous avez la base pour créer vos première page en blade.

Dans les tutos suivants nous allons rentrer dans le dur du sujet, nous allons voir comment jouer avec les bases de données.

Cet article a été vu 194 fois
Laisser un commentaire:
Laissez le premier commentaire..
Laravel Débutant

Laravel est un framework web open-source écrit en PHP respectant le principe modèle-vue-contrôleur et entièrement développé en programmation orientée objet. Laravel est distribué sous licence MIT, avec ses sources hébergées sur GitHub. En peu de temps, une communauté d'utilisateurs du framework s'est constituée, et il est devenu en 2016 le projet PHP le mieux noté de GitHub. Laravel reste pourtant basé sur son grand frère Symfony, pour au moins 30 % de ses lignes (utilisation de "Symfony component").

# #