Blade 模板引擎
模板继承
定义布局:
<!-- 寄存在 resources/views/layouts/app.blade.php --><html> <head> <title>App Name - @yield('title')</title> </head> <body> @section('sidebar') This is the master sidebar. @show <div class="container"> @yield('content') </div> </body></html>
继承布局:
<!-- 寄存在 resources/views/child.blade.php -->@extends('layouts.app')@section('title', 'Page Title')@section('sidebar') @parent <p>This is appended to the master sidebar.</p>@endsection@section('content') <p>This is my body content.</p>@endsection
数据显示
注:Blade 的 {{}} 语句曾经通过 PHP 的 htmlentities 函数解决以防止 XSS 攻打。
Hello, {{ $name }}.The current UNIX timestamp is {{ time() }}.
输入存在的数据, 两种形式都能够:
{{ isset($name) ? $name : 'Default' }}{{ $name or 'Default' }}
显示原生数据:
Hello, {!! $name !!}.
流程管制
if 语句:
@if (count($records) === 1) I have one record!@elseif (count($records) > 1) I have multiple records!@else I don't have any records!@endif
@unless (Auth::check()) You are not signed in.@endunless
循环:
@for ($i = 0; $i < 10; $i++) The current value is {{ $i }}@endfor@foreach ($users as $user) <p>This is user {{ $user->id }}</p>@endforeach@forelse ($users as $user) <li>{{ $user->name }}</li>@empty <p>No users</p>@endforelse@while (true) <p>I'm looping forever.</p>@endwhile
应用循环的时候还能够完结循环或跳出以后迭代:
@foreach ($users as $user) @if ($user->type == 1) @continue @endif <li>{{ $user->name }}</li> @if ($user->number == 5) @break @endif@endforeach
还能够应用指令申明来引入条件:
@foreach ($users as $user) @continue($user->type == 1) <li>{{ $user->name }}</li> @break($user->number == 5)@endforeach
$loop 变量
在循环的时候, 能够在循环体中应用 $loop
变量, 该变量提供了一些有用的信息, 比方以后循环索引, 以及以后循环是不是第一个或最初一个迭代:
@foreach ($users as $user) @if ($loop->first) This is the first iteration. @endif @if ($loop->last) This is the last iteration. @endif <p>This is user {{ $user->id }}</p>@endforeach
如果你身处嵌套循环, 能够通过 $loop
变量的 parent
属性拜访父级循环:
@foreach ($users as $user) @foreach ($user->posts as $post) @if ($loop->parent->first) This is first iteration of the parent loop. @endif @endforeach@endforeach
$loop
变量还提供了其余一些有用的属性:
属性 | 形容 |
---|---|
$loop->index | 以后循环迭代索引 (从0开始) |
$loop->iteration | 以后循环迭代 (从1开始) |
$loop->remaining | 以后循环残余的迭代 |
$loop->count | 迭代数组元素的总数量 |
$loop->first | 是否是以后循环的第一个迭代 |
$loop->last | 是否是以后循环的最初一个迭代 |
$loop->depth | 以后循环的嵌套层级 |
$loop->parent | 嵌套循环中的父级循环变量 |
模板正文
{{-- This comment will not be present in the rendered HTML --}}
嵌入 PHP 代码
@php //@endphp
文章来源于自己博客,公布于 2018-06-13,原文链接:https://imlht.com/archives/156/