简介
在路由或控制器中把整个 HTML 文档以字符串形式返回并不现实。 使用视图后,你可以将所有 HTML 编写在独立的文件中。 视图将控制器 / 应用逻辑与展示逻辑分离,存放在resources/views 目录下。
在 Laravel 中,通常使用 Blade 模板语言来编写视图。
resources/views/greeting.blade.php 中,可以通过全局的 view 辅助函数来返回。
创建视图
要创建视图,可以在resources/views 目录中放置扩展名为 .blade.php 的文件,或使用 Artisan 命令。
.blade.php 扩展名会告诉框架,该文件是一个 Blade 模板。
返回视图
创建视图之后,就可以在路由或控制器中使用全局view 辅助函数返回它。
View 门面来返回。
view 辅助函数的第一个参数对应 resources/views 目录中视图文件的名称。
第二个参数是可以在视图中使用的数据数组。
嵌套的视图目录
视图可以嵌套到resources/views 的子目录中。
要引用嵌套视图,请使用「点」记法。
例如,存放于 resources/views/admin/profile.blade.php 的视图,可以像下面这样返回。
返回第一个存在的视图
使用View 门面的 first 方法,可以返回视图数组中第一个存在的视图。
视图存在性判断
要判断视图是否存在,请使用View 门面的 exists 方法。
向视图传递数据
正如前面的示例所示,你可以将数据数组传给视图,并在视图内使用这些数据。with 方法逐个添加数据。
with 方法返回视图对象实例,因此可以链式调用。
在所有视图之间共享数据
如果希望在所有视图之间共享数据,可以使用View 门面的 share 方法。
通常写在服务提供者的 boot 方法中。
视图优化
默认情况下,Blade 模板视图是按需编译的。 由于视图的编译处理会在请求时执行,因此可能会对性能产生轻微影响。view:cache Artisan 命令可以预先编译应用中使用的所有视图。
建议将其作为部署流程的一部分执行。
下一步
Blade 模板
学习如何使用 Blade 语法构建动态视图。