Laravel中的模板引擎——Blade
来源:互联网 发布:小米电力猫网络密码 编辑:程序博客网 时间:2024/06/06 02:58
模板是这样的一种技术,在开发过程过程中我们需要重复写大量的HTML代码,而我们可以把这些代码改编为模板,并在其他页面中引用。
Blade 是 Laravel 所提供的一个简单且强大的模板引擎。相较于其它知名的 PHP 模板引擎,Blade 并不会限制你必须得在视图中使用 PHP 代码。所有 Blade 视图都会被编译缓存成普通的 PHP 代码,一直到它们被更改为止。这代表 Blade 基本不会对你的应用程序生成负担。
Blade 视图文件使用 .blade.php 做为扩展名,通常保存于 resources/views 文件夹内。
我们一般在resources/views文件夹下建立属于我们的html文件
<!-- 文件保存于 resources/views/layouts/master.blade.php --><html><head><title>应用程序名称 - @yield('title')</title></head><body>@section('sidebar')这是主要的侧边栏。@show<div class="container">@yield('content')</div></body></html>
@section 与 @yield 命令。正如其名,@section 命令定义一个内容区块,而 @yield 命令被用来 “显示指定区块” 的内容
当正在定义子页面时,你可以使用 Blade 的 @extends 命令指定子页面应该「继承」哪一个布局。当视图 @extends Blade 的布局之后,即可使用 @section 命令将内容注入于布局的区块中。切记,如上述例子所见,这些区块的内容都会使用 @yield 显示在布局中:
@extends(‘layouts.master’)
@section(‘title’, ‘页面标题’)
@section(‘sidebar’)
@parent
这边会附加在主要的侧边栏。
@endsection
@section(‘content’)
这是我的主要内容。
@endsection
在这个例子中,sidebar 区块利用了 @parent 命令增加(而不是覆盖)内容至布局的侧边栏。@parent 命令会在视图输出时被置换成布局的内容。
当然,就像一般的 PHP 视图那样,我们可以在路由中使用 view 辅助函数来返回 Blade 视图:
Route::get(‘blade’, function () {
return view(‘child’);
});