Top Banner
BLADE LARAVEL'S TEMPLATE ENGINE
35

Laravel Blade

Apr 11, 2017

Download

Technology

Julien TANT
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Laravel Blade

BLADELARAVEL'S TEMPLATE ENGINE

Page 2: Laravel Blade

JULIEN TANTDéveloppeur PHP Freelance - CraftyxPassionné de Laravel

Fondateur de laravel.frOrganisateur des meetups Laravel

Speaker@TantJulien

Page 3: Laravel Blade

BACK FROM CORFOU

Page 4: Laravel Blade

PROJETSVisiter l'îleBosser sur ma présentationMe reposerBronzer

Page 5: Laravel Blade

L'ÎLE EST SUBLIME

Page 6: Laravel Blade

ÉVOLUTION DU BRONZAGEAvant : #FFDFC4

Après : #FFDFC4

Page 7: Laravel Blade

J'AI CHOPPÉ UNE PHARYNGITE

Page 8: Laravel Blade
Page 9: Laravel Blade

LE FRAMEWORKCréé par Taylor OtwellInspiré de nombreux frameworkA Framework For Web Artisans

Page 10: Laravel Blade

L'ECOSYSTÈMEDEVELOPER HAPPINESS FROM DOWNLOAD TO DEPLOY

HomesteadLaravel Framework / LumenForge / EnvoyerPackages : Cashier, Socialite, Spark

Page 11: Laravel Blade
Page 12: Laravel Blade

Moteur de template de LaravelInspiré de Razor, moteur de template ASP.NETConçu pour être rapide, puissant et flexibleLe moteur n'est pas disponible en standalone    -> On peut l'utiliser en dehors du framework

Page 13: Laravel Blade

UTILISATION HABITUELLE DANSLARAVEL

Page 14: Laravel Blade

// dans un contrôleurreturn view('my.template', [ 'hello' => 'world', 'someHtml' => 'I\'m <strong>strong</strong>']);

Page 15: Laravel Blade

Le fichier est my/template/resources/views/ .blade.php1er argument : chemin vers le template2nd argument : variables pour le template

Page 16: Laravel Blade

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' }}

Page 17: Laravel Blade

Vous pouvez utiliser du PHP

<?= e($hello) ?> // shortcut pour htmlentities<?= $hello ?>

Page 18: Laravel Blade

STRUCTURES

Page 19: Laravel Blade

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

Page 20: Laravel Blade

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

Page 21: Laravel Blade

INCLUSION

Page 22: Laravel Blade

Inclure un partial depuis un template

@include('my.second.template')@include('my.second.template', ['var' => 'value'])

Page 23: Laravel Blade

Bonus : les partials de boucle

<h3>Liste de vos contacts :</h3>@each('contacts.card', $contacts, 'contact')@each('contacts.card', $contacts, 'contact', 'contacts.empty')

Page 24: Laravel Blade

DIVERS{{-- Commentaire --}}

@{{ non compilé }}

Page 25: Laravel Blade

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

Page 26: Laravel Blade

LAYOUT

Page 27: Laravel Blade
Page 28: Laravel Blade
Page 29: 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>

Page 30: Laravel Blade

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

Page 31: Laravel Blade

UNDER THE HOOD

Page 32: Laravel Blade

Compiler les instructions blade en instructions PHP.

Isoler le code blade du code PHPTraiter le code blade

Compilation des instructionsCompilation des commentairesCompilation des echos

Page 33: Laravel Blade

Demo time

ISOLER LE CODE BLADE DU CODE PHP

Page 34: Laravel Blade

MERCI

Page 35: Laravel Blade

@TantJulien - [email protected]

MERCI À VOUS