Blade 是 Laravel 提供的一个既简单又强大的模板引擎。和其他流行的 PHP 模板引擎不一样,Blade 并不限制你在视图中使用原生 PHP 代码。所有 Blade 视图文件都将被编译成原生的 PHP 代码并缓存起来,除非它被修改,否则不会重新编译,这就意味着 Blade 基本上不会给你的应用增加任何额外负担。Blade 视图文件使用 .blade.php 扩展名,一般被存放在 resources/views 目录。
模板继承
定义页面布局
Blade两大优点就是模板继承和区块。
1 | <!-- 文件保存于 resources/views/layouts/app.blade.php --> |
blade模板的文件必须以.blade.php为结尾。
如上所示,这是HTML语法,里面包括了@section和@yield命令,@section的语义就是这是定义了一个视图区域,而@yield命令是指用来显示指令内容的。
接下来我们写一个继承布局页面
继承页面布局
当定义子页面的时候,我们可以用Blade模板的extends指令来继承页面,这时候我们就可以用@section指令来注入继承页面的@section区域内容,而@yeild指令则用来注入继承页面指定的@yeild的区域。
1 | <!-- Stored in resources/views/child.blade.php --> |
如上所示,siderbar区块中的@@parent指令会追加继承页面原有的内容,如果不使用就会覆盖该布局中的内容。