SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
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
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
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
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

Tendances

PHPTour 2011 - PHP5.4
PHPTour 2011 - PHP5.4PHPTour 2011 - PHP5.4
PHPTour 2011 - PHP5.4
julien pauli
 
Soutenance Zend Framework vs Symfony
Soutenance Zend Framework vs SymfonySoutenance Zend Framework vs Symfony
Soutenance Zend Framework vs Symfony
Vincent Composieux
 

Tendances (20)

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

En vedette

Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Sofien Benrhouma
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Riadh K.
 

En vedette (20)

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

Similaire à Laravel Blade

Patterns and OOP in PHP
Patterns and OOP in PHPPatterns and OOP in PHP
Patterns and OOP in PHP
julien pauli
 
démonstration code source site web ecole.docx
démonstration code source site web ecole.docxdémonstration code source site web ecole.docx
démonstration code source site web ecole.docx
VincentBweka
 
laravel.sillo.org-Cours Laravel 10 les bases installation et organisation.pdf
laravel.sillo.org-Cours Laravel 10  les bases  installation et organisation.pdflaravel.sillo.org-Cours Laravel 10  les bases  installation et organisation.pdf
laravel.sillo.org-Cours Laravel 10 les bases installation et organisation.pdf
HeartKing10
 
Les bonnes pratiques de l'architecture en général
Les bonnes pratiques de l'architecture en généralLes bonnes pratiques de l'architecture en général
Les bonnes pratiques de l'architecture en général
Geoffrey Bachelet
 
Introduction à Sinatra
Introduction à SinatraIntroduction à Sinatra
Introduction à Sinatra
Rémi Prévost
 

Similaire à Laravel Blade (20)

Migration PHP4-PHP5
Migration PHP4-PHP5Migration PHP4-PHP5
Migration PHP4-PHP5
 
De legacy à symfony
De legacy à symfonyDe legacy à symfony
De legacy à symfony
 
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdfCours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
 
Patterns and OOP in PHP
Patterns and OOP in PHPPatterns and OOP in PHP
Patterns and OOP in PHP
 
Php 7.4 2020-01-28 - afup
Php 7.4   2020-01-28 - afupPhp 7.4   2020-01-28 - afup
Php 7.4 2020-01-28 - afup
 
Formation PHP
Formation PHPFormation PHP
Formation PHP
 
coursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfcoursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdf
 
COURS PHP.pptx
COURS PHP.pptxCOURS PHP.pptx
COURS PHP.pptx
 
Etes vous-pret pour php8 ?
Etes vous-pret pour php8 ?Etes vous-pret pour php8 ?
Etes vous-pret pour php8 ?
 
La référence Clear php
La référence Clear phpLa référence Clear php
La référence Clear php
 
Quelle place pour le framework Rails dans le développement d'application web
Quelle place pour le framework Rails dans le développement d'application webQuelle place pour le framework Rails dans le développement d'application web
Quelle place pour le framework Rails dans le développement d'application web
 
Wordpress et la sécurité des plugins
Wordpress et la sécurité des pluginsWordpress et la sécurité des plugins
Wordpress et la sécurité des plugins
 
démonstration code source site web ecole.docx
démonstration code source site web ecole.docxdémonstration code source site web ecole.docx
démonstration code source site web ecole.docx
 
PHP.pptx
PHP.pptxPHP.pptx
PHP.pptx
 
Php 7 Think php7
Php 7 Think php7Php 7 Think php7
Php 7 Think php7
 
De Legacy à Symfony
De Legacy à SymfonyDe Legacy à Symfony
De Legacy à Symfony
 
laravel.sillo.org-Cours Laravel 10 les bases installation et organisation.pdf
laravel.sillo.org-Cours Laravel 10  les bases  installation et organisation.pdflaravel.sillo.org-Cours Laravel 10  les bases  installation et organisation.pdf
laravel.sillo.org-Cours Laravel 10 les bases installation et organisation.pdf
 
Playing With PHP 5.3
Playing With PHP 5.3Playing With PHP 5.3
Playing With PHP 5.3
 
Les bonnes pratiques de l'architecture en général
Les bonnes pratiques de l'architecture en généralLes bonnes pratiques de l'architecture en général
Les bonnes pratiques de l'architecture en général
 
Introduction à Sinatra
Introduction à SinatraIntroduction à Sinatra
Introduction à Sinatra
 

Laravel Blade