当前位置: 首页 > 新闻动态 > 技术教程

Laravel如何使用Blade模板引擎_Laravel Blade视图编写与模板继承

作者:裘德小鎮的故事 浏览: 发布日期:2025-11-21
[导读]:Blade是Laravel的模板引擎,使用@extends和@section实现模板继承,通过{{}}输出变量,支持@if、@foreach等指令,可高效构建清晰的视图结构。
Blade是Laravel的模板引擎,使用@extends和@section实现模板继承,通过{{}}输出变量,支持@if、@foreach等指令,可高效构建清晰的视图结构。

Blade 是 Laravel 自带的轻量级模板引擎,它允许你使用简洁、优雅的语法编写视图,并支持模板继承、组件、条件语句和循环等特性。Blade 文件的扩展名为 .blade.php,会被 Laravel 编译成原生 PHP 代码并缓存,因此不会影响性能。

创建与渲染 Blade 视图

resources/views 目录下创建 Blade 文件,例如:home.blade.php

内容示例:




首页


欢迎来到 {{ $name }} 的网站



在控制器中使用 view() 函数渲染该视图:

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

模板继承:使用 @extends 和 @section

Blade 的核心优势之一是模板继承,可以定义一个布局文件(layout),然后在其他页面中继承并填充特定区域。

步骤如下:

  • resources/views/layouts 下创建主布局文件,如 app.blade.php
  • 使用 @section 定义可替换的内容区块
  • 子页面使用 @extends 继承布局,并用 @section 填充内容

示例:主布局 app.blade.php




@yield('title', '默认标题')



我的网站






@yield('content')



@section('footer')

版权所有 © 2025


@show


子页面继承布局,如 home.blade.php

@extends('layouts.app')

@section('title', '主页')

@section('content')

这是首页内容


欢迎访问!


@endsection

@section('footer')
@parent

本页由 Blade 驱动


@endsection

说明:

  • @yield('title') 输出命名区块内容,可设置默认值
  • @section('footer')...@endsection 定义可覆盖或追加的内容
  • @parent 表示保留父模板中的内容并追加新内容

常用 Blade 指令

Blade 提供了许多便捷指令来简化视图逻辑:

  • @if / @else / @endif:条件判断
  • @foreach / @endforeach:循环输出数据
  • {{ $variable }}:显示变量(自动转义)
  • {!! $html !!}:输出原始 HTML(不转义,注意 XSS 风险)
  • @include('view.name'):包含其他视图
  • @auth / @guest:根据用户登录状态显示内容

示例:使用循环和条件

@if($posts)

    @foreach($posts as $post)
  • {{ $post->title }}

  • @endforeach

@else

暂无文章


@endif

基本上就这些。掌握 Blade 的模板继承和常用语法后,就能高效构建结构清晰、易于维护的前端页面。

免责声明:转载请注明出处:http://m.hclxt.cn/news/7356.html

扫一扫高效沟通

多一份参考总有益处

免费领取网站策划SEO优化策划方案

请填写下方表单,我们会尽快与您联系
感谢您的咨询,我们会尽快给您回复!