laravel blade
Post on 11-Apr-2017
1.003 Views
Preview:
TRANSCRIPT
BLADELARAVEL'S TEMPLATE ENGINE
JULIEN TANTDéveloppeur PHP Freelance - CraftyxPassionné de Laravel
Fondateur de laravel.frOrganisateur des meetups Laravel
Speaker@TantJulien
BACK FROM CORFOU
PROJETSVisiter l'îleBosser sur ma présentationMe reposerBronzer
L'ÎLE EST SUBLIME
ÉVOLUTION DU BRONZAGEAvant : #FFDFC4
Après : #FFDFC4
J'AI CHOPPÉ UNE PHARYNGITE
LE FRAMEWORKCréé par Taylor OtwellInspiré de nombreux frameworkA Framework For Web Artisans
L'ECOSYSTÈMEDEVELOPER HAPPINESS FROM DOWNLOAD TO DEPLOY
HomesteadLaravel Framework / LumenForge / EnvoyerPackages : Cashier, Socialite, Spark
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
UTILISATION HABITUELLE DANSLARAVEL
// dans un contrôleurreturn view('my.template', [ 'hello' => 'world', 'someHtml' => 'I\'m <strong>strong</strong>']);
Le fichier est my/template/resources/views/ .blade.php1er argument : chemin vers le template2nd 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 PHPTraiter le code blade
Compilation des instructionsCompilation des commentairesCompilation des echos
Demo time
ISOLER LE CODE BLADE DU CODE PHP
MERCI
@TantJulien - Julien@craftyx.fr
MERCI À VOUS
top related