laravel blade

Post on 11-Apr-2017

1.003 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

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