Blade视图文件使用 '.blade.php' 作为后缀,模板文件都保存在 'resources/views'
1.@yield('content')
9.当模板中的javascript框架,也具有模板解析功能,例如:AngularJS,也使用 '{{}}' 解析模板。Blade可以使用 '@{{}}'(当然AngularJS也允许修改左右定界符'{{}}')
10.{{ isset($name) ? $name : 'Default'}},Blade提供了简写方法:{{ $name or 'Default'}}
11.if结构
18.为数组渲染视图,可理解为循环数组的另外一种方式
19.注释:
1.@yield('content')
2.
@section('sidebar')
@show
3.
@extends('laytouts.master') // 继承 layouts/master.blade.php
4.
@section('content', '要展示的内容') // 简单的区块替换,直接使用字符串
5.
// 复杂的区块,使用段落形式
@section('sidebar')
@endsection
6.
@section('sidebar')
@parent
@endsection
// @section('sidebar')&@show区块组合,可使用@parent来获取,然后使用同一个section作为扩展
7.
view('welcome', ['name' => 'dongxuemin']) // 在路由中使用view()来调用Blade模板,并分配变量
8.模板文件中,模板标记为 {{ }}(会自动调用php的 'htmlentities()' 转实体)
9.当模板中的javascript框架,也具有模板解析功能,例如:AngularJS,也使用 '{{}}' 解析模板。Blade可以使用 '@{{}}'(当然AngularJS也允许修改左右定界符'{{}}')
10.{{ isset($name) ? $name : 'Default'}},Blade提供了简写方法:{{ $name or 'Default'}}
11.if结构
@if ()
@elseif ()
@else
@endif
12.unless结构,基本没用,等同于 @if(!xxx) @endif
@unless ()
@endunless
13.for循环
@for ()
@endfor
14.foreach循环
@foreach
@endforeach
15.while循环
@while()
@endwhile
16.foreach循环的变种,当循环数组 == false(boolean转换为false) 时,可采用这种结构
@forelse($users as $user)
<li>用户名:{{$user['username']}}</li>
@empty
<p>没有用户</p>
@endforelse
17.@include('shared.errors', ['name'] => '董学敏')
// 引入子视图,并给子视图分配变量
18.为数组渲染视图,可理解为循环数组的另外一种方式
@each('view.user', $users, $user[, 'view.empty'])参数解释:
- 'view.user'每个条目将要展示的模板
- $users - 循环数组
- $user - 在 'view.user' 中,可使用的变量(即:一条用户数据)
- 'view.empty',可选参数。当数组为空时,将会渲染的模板
19.注释:
{{-- 我是注释内容,不会被html展示,我们项目中自己可见注释! --}}20.服务注入:
@inject('users', 'App\Services\usersService')参数解释:
- 服务的变量名称(分配给模板使用)
- 解析服务的类或是接口的名称
@forelse($userList as $user)
<li>用户名:{{$user['username']}}</li>
@empty
<p>没有用户</p>
@endforelse
21.扩充Blade - 高级用法,不做解释