1.Balde简介和Blade模板继承
(1)简介:Blade是Laravel提供的一个简单强大的模板引擎,Blade并不限制你在视图中(view)使用原生PHP代码;所有的Blade模板视图页面将被编译成缓存页面,模板视图更新,缓存页面也将重新编译。
(2)模板继承( extends、section、 yield、 parent)
@extends('layouts')
@section('header')
@parent
header
@stop
@section('sidebar')
@parent
sidebar
@stop
@section('content')
@parent
content
@stop
@section('footer')
@parent
footer
@stop
2. 基础语法
(1)模板中输出变量
(2)模板中调用PHP代码
(3)原样输出
(4)模板注释
(5)引入子视图
@section('content')
<!-- 模板中输出变量 -->
<p>我的姓名:{{$name}}</p>
<p>我的年龄:{{$age}}</p>
<!-- 模板中输出PHP代码 -->
<p>当前时间为 {{date('Y-m-d H:m:i',time())}}</p>
<p>现在的天气:{{ in_array('多云',array('多云','雨','晴')) ? '多云' : '雷阵雨' }}</p>
<p>你的年龄多大呢? {{ var_dump($age) }}</p>
<p>你有姓名吗?{{ isset($name) ? $name : ''}}</p>
<p>你有姓名吗?{{ $name or ''}}</p>
<!-- 转字符输出/原样输出 -->
<p>@{{$name}}</p>
<!--注释-->
<p>{{-- 这是一段注释 --}}</p>
<!-- 引入子视图 -->
@include('section.section1_child',['component_name' => '哆啦A梦'])
@stop
3. 流程控制(if 、unless 、for 、foreach )
@if($age >= 20)
大龄青年
@else
青少年
@endif
@unless( $age >= 20 )
青少年
@endunless
@for($i=0;$i<10;$i++)
{{$i}} {{-- 0 1 2 3 4 5 6 7 8 9 --}}
@endfor
@foreach($arr as $person)
{{ $person}} {{-- 小明 小花 小强 小颖 --}}
@endforeach
4. 模板中的URL(url() 、 action() 、 route() )
//控制器
class SectionController extends Controller
{
public function section1(){
return view('section/section1',[
'name' => 'xiaoYi',
'age' => 23,
'arr' => array('小明','小花','小强','小颖')
]);
}
public function url(){
return 'current-url-page';
}
}
//路由设置
Route::get('section/url',['as'=>'surl','uses' => 'SectionController@url']);
//模板内容
{{ url('section/url') }}
<p><a href="{{ url('section/url') }}">use url() go to otehr page</a></p>
<p><a href="{{ route('surl') }}">use route() go to otehr page</a></p>
<p><a href="{{ action('SectionController@url') }}">use action() go to otehr page</a></p>
//页面输出
/*
http://localhost/laravels/public/section/url
use url() go to otehr page
use route() go to otehr page
use action() go to otehr page
*/
5. 总结
其blade模板语法类似于原生PHP的模板语法,在原生语法的基础上,做了有利于用户更加方便操作的优化。