跳转到主要内容

简介

在路由或控制器中把整个 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 语法构建动态视图。
最后修改于 2026年7月18日