1.模板继承需要用到两个页面,一个父页面,一个子页面
2.继承和引用的blade.php文件同样是写在项目路径\resources\views\下
3.模板的继承和引用常见的应用有后台管理,在后台管理中界面,即menu.php文件(父页面)是固定不变的,但会根据选择模块的不同而改变其子页面。
视图文件夹下:
路由写法:
Route::match(['get'],'index4', 'Home\IndexController@child');
Controller写法:
//index4
public function child(){
return view('Home/test/child');
}
View视图(parent.blade.php):
可变区域需要填写@yield(‘别名’)函数来占用
<h1>头部信息</h1>
<!--可变区域-->
@yield('menu')
<h2>尾部信息</h2>
View视图(child.blade.php):
继承语法:
@extend(‘需要继承的模板名’)
通过section绑定区块到父页面,区块名是父页面的yield别名
@section(区块名)
代码
@endsection
@extends('Home/test/parent')
@section('menu')
<div>
<h1>这里是子内容</h1>
</div>
@endsection
浏览器访问:
二:额外补充:文件的包含
语法:@include(‘home/test/child2’)
项目路径下再写一个php命名为child2.blade.php:
在child.blade.php文件中包含
@extends('Home/test/parent')
@section('menu')
<div>
<h1>这里是子内容</h1>
</div>
@endsection
<!--文件包含-->
@include('home/test/child2')
浏览器访问: