Laravel Blade

631 vues

Publié le

Blade est un moteur de template simple et puissant écrit par Taylor Otwell, créateur de Laravel. Nous verrons ensemble les différentes possibilités qu'il offre, ainsi que ses petites particularités et nous jetterons un œil rapide sous le capot afin de comprendre son mode de fonctionnement.

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
631
Sur SlideShare
0
Issues des intégrations
0
Intégrations
23
Actions
Partages
0
Téléchargements
13
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Laravel Blade

  1. 1. BLADE LARAVEL'S TEMPLATE ENGINE
  2. 2. JULIEN TANT Développeur PHP Freelance - Craftyx Passionné de Laravel Fondateur de laravel.fr Organisateur des meetups Laravel Speaker @TantJulien
  3. 3. BACK FROM CORFOU
  4. 4. PROJETS Visiter l'île Bosser sur ma présentation Me reposer Bronzer
  5. 5. L'ÎLE EST SUBLIME
  6. 6. ÉVOLUTION DU BRONZAGE Avant : #FFDFC4 Après : #FFDFC4
  7. 7. J'AI CHOPPÉ UNE PHARYNGITE
  8. 8. LE FRAMEWORK Créé par Taylor Otwell Inspiré de nombreux framework A Framework For Web Artisans
  9. 9. L'ECOSYSTÈME DEVELOPER HAPPINESS FROM DOWNLOAD TO DEPLOY Homestead Laravel Framework / Lumen Forge / Envoyer Packages : Cashier, Socialite, Spark
  10. 10. Moteur de template de Laravel Inspiré de Razor, moteur de template ASP.NET Conçu pour être rapide, puissant et flexible Le moteur n'est pas disponible en standalone     -> On peut l'utiliser en dehors du framework
  11. 11. UTILISATION HABITUELLE DANS LARAVEL
  12. 12. // dans un contrôleur return view('my.template', [ 'hello' => 'world', 'someHtml' => 'I'm <strong>strong</strong>' ]);
  13. 13. Le fichier est my/template/resources/views/ .blade.php 1er argument : chemin vers le template 2nd argument : variables pour le template
  14. 14. Semblable à la plupart des moteurs Bonus ECHOING {{ $hello }} // htmlentities {!! $someHtml !!} // raw Nous sommes le {{ date('d/m/Y') }} {{ isset($name) ? $name : 'Julien' }} // => {{ $name or 'Julien' }}
  15. 15. Vous pouvez utiliser du PHP <?= e($hello) ?> // shortcut pour htmlentities <?= $hello ?>
  16. 16. STRUCTURES
  17. 17. Le classique if Et son cousin le unless (if not) @if($age >= 18) Tu es majeur @elseif($age >= 13) Tu es un ado @else Tu es un enfant @endif @unless($user->isAdmin()) Vous n'êtes pas administrateur @endunless
  18. 18. Boucles Le bonus @for ($i = 0; $i < 10; $i++) {{ $i }} @endfor @while (true) <p>Ne tentez pas cela à la maison.</p> @endwhile @foreach ($users as $user) <p>Utilisateur n°{{ $user->id }}</p> @endforeach @forelse ($users as $user) <li>{{ $user->name }}</li> @empty <p>Aucun utilisateur</p> @endforelse
  19. 19. INCLUSION
  20. 20. Inclure un partial depuis un template @include('my.second.template') @include('my.second.template', ['var' => 'value'])
  21. 21. Bonus : les partials de boucle <h3>Liste de vos contacts :</h3> @each('contacts.card', $contacts, 'contact') @each('contacts.card', $contacts, 'contact', 'contacts.empty')
  22. 22. DIVERS {{-- Commentaire --}} @{{ non compilé }}
  23. 23. Laravel Related @inject('stats', 'service.stats') {{ $stats->onlineVisitors() }} @lang('pagination.next') @can('users.create') Ajouter un utilisateur @endcan @cannot('users.create') Vous ne pouvez pas ajouter un utilisateur @endcannot
  24. 24. LAYOUT
  25. 25. Layout (layouts/master.blade.php) <html> <body> <header> @yield('title') </header> @section('sidebar') SIDEBAR @show <div class="container"> @yield('content') </div> </body> </html>
  26. 26. Enfant (any/where/child.blade.php) @extends('layouts.master') @section('title', 'Ma super app') @section('sidebar') @parent <p>Contenu ajouté à la sidebar.</p> @endsection @section('content') <p>Contenu principal.</p> @endsection
  27. 27. UNDER THE HOOD
  28. 28. Compiler les instructions blade en instructions PHP. Isoler le code blade du code PHP Traiter le code blade Compilation des instructions Compilation des commentaires Compilation des echos
  29. 29. Demo time ISOLER LE CODE BLADE DU CODE PHP
  30. 30. MERCI
  31. 31. @TantJulien - Julien@craftyx.fr MERCI À VOUS

×