BLADE
LARAVEL'S TEMPLATE ENGINE
JULIEN TANT
Développeur PHP Freelance - Craftyx
Passionné de Laravel
Fondateur de laravel.fr
Organisateur des meetups Lara...
BACK FROM CORFOU
PROJETS
Visiter l'île
Bosser sur ma présentation
Me reposer
Bronzer
L'ÎLE EST SUBLIME
ÉVOLUTION DU BRONZAGE
Avant : #FFDFC4
Après : #FFDFC4
J'AI CHOPPÉ UNE PHARYNGITE
LE FRAMEWORK
Créé par Taylor Otwell
Inspiré de nombreux framework
A Framework For Web Artisans
L'ECOSYSTÈME
DEVELOPER HAPPINESS FROM DOWNLOAD TO DEPLOY
Homestead
Laravel Framework / Lumen
Forge / Envoyer
Packages : Ca...
Moteur de template de Laravel
Inspiré de Razor, moteur de template ASP.NET
Conçu pour être rapide, puissant et flexible
Le...
UTILISATION HABITUELLE DANS
LARAVEL
// dans un contrôleur
return view('my.template', [
'hello' => 'world',
'someHtml' => 'I'm <strong>strong</strong>'
]);
Le fichier est my/template/resources/views/ .blade.php
1er argument : chemin vers le template
2nd argument : variables pou...
Semblable à la plupart des moteurs
Bonus
ECHOING
{{ $hello }} // htmlentities
{!! $someHtml !!} // raw
Nous sommes le {{ d...
Vous pouvez utiliser du PHP
<?= e($hello) ?> // shortcut pour htmlentities
<?= $hello ?>
STRUCTURES
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...
Boucles
Le bonus
@for ($i = 0; $i < 10; $i++)
{{ $i }}
@endfor
@while (true)
<p>Ne tentez pas cela à la maison.</p>
@endwh...
INCLUSION
Inclure un partial depuis un template
@include('my.second.template')
@include('my.second.template', ['var' => 'value'])
Bonus : les partials de boucle
<h3>Liste de vos contacts :</h3>
@each('contacts.card', $contacts, 'contact')
@each('contac...
DIVERS
{{-- Commentaire --}}
@{{ non compilé }}
Laravel Related
@inject('stats', 'service.stats')
{{ $stats->onlineVisitors() }}
@lang('pagination.next')
@can('users.crea...
LAYOUT
Layout (layouts/master.blade.php)
<html>
<body>
<header>
@yield('title')
</header>
@section('sidebar')
SIDEBAR
@show
<div ...
Enfant (any/where/child.blade.php)
@extends('layouts.master')
@section('title', 'Ma super app')
@section('sidebar')
@paren...
UNDER THE HOOD
Compiler les instructions blade en instructions PHP.
Isoler le code blade du code PHP
Traiter le code blade
Compilation de...
Demo time
ISOLER LE CODE BLADE DU CODE PHP
MERCI
@TantJulien - Julien@craftyx.fr
MERCI À VOUS
Laravel Blade
Laravel Blade
Laravel Blade
Laravel Blade
Prochain SlideShare
Chargement dans…5
×

Laravel Blade

923 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
923
Sur SlideShare
0
Issues des intégrations
0
Intégrations
203
Actions
Partages
0
Téléchargements
18
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

×