Laravel中Blade模板引擎使用教程

作者:技术拾光

时间:2026-07-02

浏览:176

Blade模板引擎用于生成HTML视图,视图文件存放于resources/views目录且扩展名为.blade.php。支持{{}}输出变量、@if条件判断、@foreach循环、@include引入公共视图。控制器通过view()函数渲染视图并传递数据。布局功能使用@yield标记占位区,子视图通过@extends继承并用@section填充内容。

文章目录

Blade 模板引擎概述

Lara vel 的 Blade 模板引擎,说白了就是一套帮你把 HTML 写得更痛快、更灵活的工具。它不复杂,但用好了确实能让视图层的代码清爽不少。下面我们一步步拆开看看。

Laravel中Blade模板引擎使用教程

视图文件的基础知识

先从最基础的文件说起。Blade 的视图文件都放在 resources/views 目录下,扩展名必须是 .blade.php。比如你想创建一个欢迎页面,直接新建一个 welcome.blade.php 就行,命名没什么特殊约束,但建议保持清晰。

Blade 基本语法

文件建好了,怎么写内容?Blade 提供了几种非常直观的语法:

  • 输出变量:直接用 {{ $name }},花括号里自动转义,安全又省心。
  • 条件判断:@if ($condition) ... @endif,跟 PHP 的 if 看起来差不多,但更简洁。
  • 循环遍历:@foreach ($items as $item) ... @endforeach,处理数组或集合时特别顺手。
  • 引入其他视图:@include('partials.header'),可以把公共头部、脚注拆成独立文件,复用性拉满。

在控制器中渲染视图

视图文件准备好了,接下来是怎么在控制器里把它渲染出来。很简单,用 view() 函数即可:

public function index()
{
    return view('welcome');
}

如果你需要往视图里传数据,比如用户名、文章列表,那就把数据作为第二个参数丢进去,关联数组的键名就是视图里能用的变量名:

public function index()
{
    return view('welcome', ['name' => 'John']);
}

然后在 welcome.blade.php 里直接用 {{ $name }} 输出,结果就是 "John"。

使用布局实现页面复用

再往上走一层,很多站点的页面结构是固定的,比如头部导航、侧边栏、底部版权信息。Blade 的布局功能就是专门解决这个问题的。先在 resources/views/layouts 目录下建一个布局文件,比如 app.blade.php,在里面用 @yield('content') 标记一个占位区域,表示“这里留给子页面填充”。

然后,在具体的视图文件里,通过 @extends('layouts.app') 继承这个布局,再用 @section('content') 把本页特有的内容包裹进去:

@extends('layouts.app')

@section('content')
    

Welcome to our website!

@endsection

这样一来,@yield 的位置就会被替换成 h1 那段内容,而布局中的其他部分(导航、侧栏等)原封不动保留。很干净,对吧?

更多高级功能

以上只是 Blade 最常用的几个特性。实际上它还支持组件、插槽、自定义指令等更高级的玩法,不过先掌握这些基础,日常开发已经足够应对大部分场景了。如果遇到更复杂的需求,翻翻 Lara vel 官方文档里的 Blade 章节,里面几乎能解决所有疑惑。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›