Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
web:blade [2018/11/13 10:42] irhamdj |
web:blade [2018/11/20 08:19] (Version actuelle) dmillot [Formulaires] |
||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ====== BLADE ====== | ||
| **Rappel :** Bien penser à mettre **.blade** dans l'extension du fichier. (ex:** //index.blade.php//**) | **Rappel :** Bien penser à mettre **.blade** dans l'extension du fichier. (ex:** //index.blade.php//**) | ||
| Ligne 13: | Ligne 14: | ||
| </code> | </code> | ||
| - | Le mot-clé "@yield" va ici appeler la section** content**. | + | Le mot-clé **"@yield"** va ici appeler la section** content**. |
| <code> | <code> | ||
| @extends('template') | @extends('template') | ||
| Ligne 23: | Ligne 24: | ||
| Cela permet d'éviter de réécrire le header et le footer sur chaque page du site. | Cela permet d'éviter de réécrire le header et le footer sur chaque page du site. | ||
| ---- | ---- | ||
| - | Les structures de bases de programmations ont également changées : | + | ===== Conditions ===== |
| - | * **"if"** devient **"@if"** | + | * La condition **IF** |
| - | * **"foreach"** devient **"@foreach"** et se termine par **"@endforeach"** | + | <code> |
| - | * **"while"** devient **"@while"** et se termine par **"@endwhile"** | + | @if (condition) |
| - | * etc... | + | // faire quelque chose |
| + | @else | ||
| + | // faire autre chose | ||
| + | @endif | ||
| + | </code> | ||
| + | * La condition **ELSEIF** | ||
| + | <code> | ||
| + | @if (condition) | ||
| + | // faire quelque chose | ||
| + | @elseif (condition 2) | ||
| + | // faire autre chose | ||
| + | @elseif (condition 3) | ||
| + | // faire autre chose | ||
| + | @else | ||
| + | // faire autre chose si toutes les conditions sont fausses | ||
| + | @endif | ||
| + | </code> | ||
| ---- | ---- | ||
| + | ===== Boucles ===== | ||
| + | Voici les différentes boucles proposées par blade : | ||
| + | * La boucle **FOREACH** | ||
| + | <code> | ||
| + | @foreach ($collection as $variable) | ||
| + | // faire quelque chose | ||
| + | @endforeach | ||
| + | </code> | ||
| + | * La boucle **FORELSE** | ||
| + | <code> | ||
| + | @forelse ($collection as $variable) | ||
| + | // faire quelque chose | ||
| + | @empty | ||
| + | // faire autre chose si la collection est vide | ||
| + | @endforelse | ||
| + | </code> | ||
| + | * La boucle **WHILE** | ||
| + | <code> | ||
| + | @while (condition) | ||
| + | // faire quelque chose | ||
| + | @endwhile | ||
| + | </code> | ||
| + | ---- | ||
| + | ===== Formulaires ===== | ||
| Lors de l'utilisation d'un formulaire, il est important de sécuriser l'envoi des données. Afin d'éviter que une personne ajoute des données a notre base de données factices (ou suppression, ou modification). | Lors de l'utilisation d'un formulaire, il est important de sécuriser l'envoi des données. Afin d'éviter que une personne ajoute des données a notre base de données factices (ou suppression, ou modification). | ||
| - | Pour cela il existe **"@csrf"** qui est un //token// de sécurité. Si il n'est pas présent dans le formulaire, le code de ce dernier ne s’exécutera pas. | + | Pour cela il existe **"@csrf"**(Cross-site request forgery) qui est un **//jeton d'authentification//** (ou token en Anglais) proposé par Blade. Si il n'est pas présent dans le formulaire, le code de ce dernier ne s’exécutera pas. |
| + | |||
| + | Il existe différentes façons de générer un formulaire. | ||
| + | ---- | ||
| + | === Première méthode === | ||
| <code> | <code> | ||
| <form action="{{action('MagazineController@destroy', $donnees['id'])}}" method="post"> | <form action="{{action('MagazineController@destroy', $donnees['id'])}}" method="post"> | ||
| Ligne 41: | Ligne 85: | ||
| </form> | </form> | ||
| </code> | </code> | ||
| + | ---- | ||
| + | === Deuxième méthode === | ||
| + | Cette méthode nécessite l'installation du package [[web:commandes_du_terminal#packages|laravelcollective]]. | ||
| + | <code> | ||
| + | {!! Form::model(['action' => 'MagazineController@destroy', $donnees->id]) !!} | ||
| + | {!! Form::submit('Supprimer') !!} | ||
| + | {!! Form::close() !!} | ||
| + | </code> | ||
| + | Le jeton **CSRF** est généré automatiquement dans cette méthode. | ||
| + | ---- | ||
| + | ===== Commentaires ===== | ||
| + | Blade propose sa propre définition des commentaires dans une vue. | ||
| + | <code> | ||
| + | {{-- Commentaire --}} | ||
| + | </code> | ||
| + | Contrairement aux commentaires HTML, ce commentaire n’apparaîtra pas dans le code source de votre page. | ||
| + | ---- | ||