Vue Blade
Vue Blade
Vue Blade
Laravel utilise l’excellent moteur de template « Blade ». À la fois souple et puissant il améliorera très grandement la
qualité de vos projets.
• Moteur de template
• Performant
• Héritage et redéfinition
• Contrairement à beaucoup d’autres moteurs de template, le mix PHP + HTML est possible (mais
personnellement je ne trouve pas que ça soit une bonne idée…)
Route::get('/', function () {
return view('votrePage', ['name' => 'Valentin 👋']);
});
Votre contrôleur :
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class DemoController extends Controller
{
public function voir($id): string
{
return view('votrePage', ['id' => $id]);
}
}
Les directives
Les directives sont une syntaxe particulière permettant de conditionner, répéter, ajuster l’affichage en fonctions des
données
LES CONDITIONS
@foreach, @endforeach
@forelse, @empty, @endforelse <= Permet d’afficher autre chose si pas de données dans la
boucle
L’HÉRITAGE
@auth, @guest
// ++++
// Les conditions
// ++++
@auth
// The user is authenticated...
@endauth
@guest
// The user is not authenticated...
@endguest
@isset($records)
// $records is defined and is not null...
@endisset
@empty($records)
// $records is "empty"...
@endempty
// ++++
// Les boucles
// ++++
@while (true)
<p>I'm looping forever.</p>
@endwhile
L’héritage de template
<html>
<head>
<title>Site Exemple - @yield('titre')</title>
</head>
<body>
<div class="container">@yield('content')</div>
</body>
</html>
Je ne le répèterai jamais assez, mais l’organisation est la clé de la réussite. Même si ce découpage vous semble «
complèxe » à première vue, c’est quelque chose de courant et de pratiquer dans beaucoup (toutes ?) les entreprises.
Les composants
<VotreComposant nom="Valentin">
Vous pouvez ici avoir des enfants.
</VotreComposant>
Si vous souhaitez que votre composant puisse avoir du code enfant, il faudra ajouter dans la vue du composant :
• $slot contiendra le contenu de l’enfant (c'est à dire le contenu entre les balises du composant).
Si vous souhaitez que votre composant puisse avoir des attributs, il faudra modifier le code du composant. Par
exemple, si vous souhaitez que votre composant puisse avoir un attribut nom :
// app/View/Components/VotreComposant.php
public function __construct(public string $nom)
{
}
<x-votre-composant nom="Valentin">
Vous pouvez ici avoir des enfants.
</x-votre-composant>
• Documentation des composants
C'est nouveau
Les composants sont une nouvelle approche dans la conception d'interface. Ils sont très utilisés notamment en
JavaScript, en Laravel vous avez le choix « Héritage » ou « Composant » il n'y a pas de meilleure façon de faire.
Seulement deux approches complémentaires.