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:47] 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"**, le **"else"** devient **"@else"** et se termine par **"@endif"** | + | * 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 **//jeton d'authentification//**(ou token en Anglais). 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. | ||
+ | ---- |