视图文件位置
位于:resources/views
视图命名规范与渲染
- 小写
- 后缀名是.blade.php,可以使用{{$title}}语法,因为Laravel有一套blade模板引擎,也可以使用PHP原生语法。
- 也可以是.php结尾,但是不可以使用Laravel提供的{{$title}}语法显示数据了。
- 两个文件同时存在时,则.balde.php优先级最高,最先显示。
视图显示方法
return view(视图文件);
视图文件除了可以test/view1
这样写之外,还可以这样写:test.view1;
web.php路由配置
Route::get('view/test1',function() {
return view('test/view1');
});
变量分配
web.php路由配置
Route::get('view/test1',function() {
$date = date('Y-m-d H:i:s',time());
$a = 12;
return view('test/view1',['date' => $date, 'a' => 12]);
// 还可以这么写:
// return view('test/view1',compact('date','a'));
});
view1.blade.php
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
{{$date}}
</body>
</html>
模板的循环与分支标签
foreach
@foreach($variable as $key => $value)
// 循环体
@endforeach
if
@if()
@elseif()
@else
@endif
模板继承
一般是用于做有公共部分的页面
配置路由
Route::get('view/test2',function() {
return view('test/child');
});
编写父级页面 parent.blade.php
- @yield(id)
在父级页面中的占位
<h1>我是头部</h1>
<!-- 可变区域 B -->
@yield('abc')
<!-- 可变区域 E -->
<h1>我是尾部</h1>
编写子级页面 child.blade.php
因为头部和尾部父级页面已经拥有,所以子级页面可以不用在编写。
@extends('test/parent')
@section('abc')
<div>
xiaoLing is a good boy!!!
</div>
@endsection
模板包含
@include(模板文件名)