Laravel使用Blade模板引擎实现视图渲染,Blade通过{{ }}输出变量、@if/@foreach等指令控制逻辑,支持模板继承@yield与@section构建布局,可用@include引入局部视图,组件语法提升复用性,数据由控制器通过view()传递,文件位于resources/views目录,.blade.php后缀。

在 Laravel 中使用模板引擎主要是通过 Blade 模板引擎来完成的。Blade 是 Laravel 自带的简单、强大且灵活的模板引擎,它允许你在视图中使用简洁的语法来渲染动态内容,同时保持与原生 PHP 的兼容性。
1. Blade 模板的基本用法
Blade 模板文件通常存放在 resources/views 目录下,文件扩展名为 .blade.php。例如:`resources/views/home.blade.php`。
你可以在控制器中使用 view() 函数返回视图:
-
return view('home');// 对应 home.blade.php -
return view('pages.about');// 对应 resources/views/pages/about.blade.php
向模板传递数据也很简单:
立即学习“PHP免费学习笔记(深入)”;
return view('home', ['name' => 'Tom', 'age' => 25]);- 或使用
compact():$name = 'Tom'; return view('home', compact('name'));
2. 在 Blade 中渲染变量和控制结构
在 .blade.php 文件中,使用双大括号 {{ }} 输出变量:
Hello, {{ $name }}
支持常见的控制结构:
- 条件判断:
@if($age >= 18)成年人
@else未成年人
@endif - 循环:
@foreach($users as $user){{ $user->name }}
@endforeach
3. 模板继承与布局
Blade 支持模板继承,便于构建一致的页面结构。例如创建一个通用布局 resources/views/layouts/app.blade.php:
@yield('title') @section('sidebar') 网站标题
这是默认侧边栏
@show@yield('content')
然后在子页面中继承并填充内容:
@extends('layouts.app')
@section('title', '首页')
@section('content')
欢迎来到首页
你好,{{ $name }}!
@endsection
4. 包含子视图与组件
你可以使用 @include 引入局部视图,比如页脚、导航等:
@include('partials.nav')
Laravel 还支持组件系统(从 7.x 开始更完善),可以创建可复用的 UI 组件:
@component('components.alert')
@slot('title')
注意
@endslot
这是一条警告信息。
@endcomponent
或者使用新的组件语法(Laravel 8+):
基本上就这些。Blade 简洁高效,配合 Laravel 的路由和控制器,能快速实现视图渲染。只要把逻辑放在后端,数据传给视图,再用 Blade 渲染出来就行,不复杂但容易忽略细节比如命名规范和目录结构。这是一条警告信息。











