BLADE
LARAVEL'S TEMPLATE ENGINE
JULIEN TANT
Développeur PHP Freelance - Craftyx
Passionné de Laravel
Fondateur de laravel.fr
Organisateur des meetups Laravel
Speaker
@TantJulien
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
Laravel Blade
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 : Cashier, Socialite, Spark
Laravel Blade
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
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 pour le template
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' }}
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 un enfant
@endif
@unless($user->isAdmin())
Vous n'êtes pas administrateur
@endunless
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
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('contacts.card', $contacts, 'contact', 'contacts.empty')
DIVERS
{{-- Commentaire --}}
@{{ non compilé }}
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
LAYOUT
Laravel Blade
Laravel Blade
Layout (layouts/master.blade.php)
<html>
<body>
<header>
@yield('title')
</header>
@section('sidebar')
SIDEBAR
@show
<div class="container">
@yield('content')
</div>
</body>
</html>
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
UNDER THE HOOD
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
Demo time
ISOLER LE CODE BLADE DU CODE PHP
MERCI
@TantJulien - Julien@craftyx.fr
MERCI À VOUS

Contenu connexe

PPTX
[2015] Laravel yet another framework
PDF
PHP Composer : Pourquoi ? Comment ? Et plus ...
PDF
Introduction à Laravel 4 @Dogstudio
PDF
AFUP Aix/Marseille - 16 mai 2017 - Open API
PDF
Introduction à Symfony2
PPTX
Introduction à Laravel
PDF
Nouveautés php 7
PDF
PHP 7 et Symfony 3
[2015] Laravel yet another framework
PHP Composer : Pourquoi ? Comment ? Et plus ...
Introduction à Laravel 4 @Dogstudio
AFUP Aix/Marseille - 16 mai 2017 - Open API
Introduction à Symfony2
Introduction à Laravel
Nouveautés php 7
PHP 7 et Symfony 3

Tendances (20)

PDF
PHPTour 2011 - PHP5.4
PPT
20111006 bonnes pratiques-gi_g_v1
PDF
Utilisation optimale et professionnelle de PHP
PDF
wallabag, comment on a migré vers symfony3
PDF
Bonnes pratiques de developpement en PHP
PDF
Symfony2: 30 astuces et bonnes pratiques
PDF
Intégration Continue PHP avec Jenkins CI
PPTX
Php & My Sql
PDF
PHP 5.3 : les nouveautés du futur si proche
ODP
ZendFramework2 - Présentation
PPT
Soutenance Zend Framework vs Symfony
PPTX
Présentation symfony epita
PDF
Gatekeeper par Guillaume Faure
ODP
Introduction à CakePHP
PDF
Cours php & Mysql - 1ére partie
PPT
PHP 5.3, PHP Next
PDF
Orchestrez vos projets Symfony sans fausses notes
PPTX
SonarQube Manuel Automatisation d'analyse ANT JENKINS/Hudson
PPT
Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINE
PDF
Un exemple élémentaire d'application MVC en PHP
PHPTour 2011 - PHP5.4
20111006 bonnes pratiques-gi_g_v1
Utilisation optimale et professionnelle de PHP
wallabag, comment on a migré vers symfony3
Bonnes pratiques de developpement en PHP
Symfony2: 30 astuces et bonnes pratiques
Intégration Continue PHP avec Jenkins CI
Php & My Sql
PHP 5.3 : les nouveautés du futur si proche
ZendFramework2 - Présentation
Soutenance Zend Framework vs Symfony
Présentation symfony epita
Gatekeeper par Guillaume Faure
Introduction à CakePHP
Cours php & Mysql - 1ére partie
PHP 5.3, PHP Next
Orchestrez vos projets Symfony sans fausses notes
SonarQube Manuel Automatisation d'analyse ANT JENKINS/Hudson
Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINE
Un exemple élémentaire d'application MVC en PHP
Publicité

En vedette (20)

PDF
Git hub and Laravel
PDF
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
PPTX
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
PPTX
Présentation PFE
PDF
Conception et réalisation d’un Système d’information des étudiants du départe...
DOCX
PFE :: Application de gestion des dus d'enseignement
PPT
Presentation d'un logiciel de GRH
PDF
Rapport de stage pfe odoo 8
PDF
Projet de fin d'études licence Pro TCF Université Ibn Zohr Agadir {Gestion de...
PDF
Rapport de projet de fin d'étude licence informatique et multimédia
PPTX
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
PDF
Rapport Projet de fin d'etude sur le parc informatique
PDF
Projet de Fin d’Études - Écoles d'ingénieur informatique - Place de marché d'...
PDF
Rapport De PFE
PPT
Construcción con ladrillos
PPTX
Quoi de neuf pour l'utilisateur dans Lync 2013
PPT
Pechakucha Sevilla Asociación Española de Coolhunting
PDF
Ifla2014 session 87 96_119
ODP
google drive
PDF
Réduire l'empreinte carbone dans les écoles
Git hub and Laravel
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Présentation PFE
Conception et réalisation d’un Système d’information des étudiants du départe...
PFE :: Application de gestion des dus d'enseignement
Presentation d'un logiciel de GRH
Rapport de stage pfe odoo 8
Projet de fin d'études licence Pro TCF Université Ibn Zohr Agadir {Gestion de...
Rapport de projet de fin d'étude licence informatique et multimédia
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport Projet de fin d'etude sur le parc informatique
Projet de Fin d’Études - Écoles d'ingénieur informatique - Place de marché d'...
Rapport De PFE
Construcción con ladrillos
Quoi de neuf pour l'utilisateur dans Lync 2013
Pechakucha Sevilla Asociación Española de Coolhunting
Ifla2014 session 87 96_119
google drive
Réduire l'empreinte carbone dans les écoles
Publicité

Similaire à Laravel Blade (7)

PDF
Symfony vs laravel
PPTX
ch3 - Laravel - Les bases de la pres.pptx
PDF
Initiation to Laravel Framework 9 est fait pour toute personne qui est à la...
PDF
M205developpemmetdigital123455555555.pdf
PDF
Cours php bac info
PPTX
Présentation veille technologique LARAVEL.pptx
PDF
cours-laravel-lpti-dar324-janTEDTF-24.pdf
Symfony vs laravel
ch3 - Laravel - Les bases de la pres.pptx
Initiation to Laravel Framework 9 est fait pour toute personne qui est à la...
M205developpemmetdigital123455555555.pdf
Cours php bac info
Présentation veille technologique LARAVEL.pptx
cours-laravel-lpti-dar324-janTEDTF-24.pdf

Dernier (7)

PDF
Architecture logicielle et Modeles de Conception
PPTX
test pour la présentation foire de Chalôns V1
PDF
Analyse technique approfondie pour la gestion des transports dans SAP S/4HANA...
PDF
COURS GCDs Chap 9.pdf tous les éléments.
PDF
IPTV Meilleur - Le Meilleur Abonnement IPTV en France pour 2025
PDF
Frais et décompte dans SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
Cours Electrotechnique L2 - Séance 6.pptx
Architecture logicielle et Modeles de Conception
test pour la présentation foire de Chalôns V1
Analyse technique approfondie pour la gestion des transports dans SAP S/4HANA...
COURS GCDs Chap 9.pdf tous les éléments.
IPTV Meilleur - Le Meilleur Abonnement IPTV en France pour 2025
Frais et décompte dans SAP S/4HANA Transportation Management, S4TM3 Col26
Cours Electrotechnique L2 - Séance 6.pptx

Laravel Blade