Laravel如何使用Blade模板引擎?(完整语法和示例)
发布时间 - 2025-12-18 00:00:00 点击率:次Blade 是 Laravel 自带的轻量级模板引擎,编译为原生 PHP 缓存执行,性能优异;支持双大括号输出与转义、@指令控制结构、模板继承、组件插槽及常用快捷指令。
Blade 是 Laravel 自带的轻量级、功能强大的模板引擎,它允许你在视图中安全地嵌入 PHP 逻辑,同时保持语法简洁、可读性强。它不是直接编译成 PHP,而是编译成原生 PHP 代码缓存起来,因此性能几乎与原生 PHP 相当。
基础语法:输出与转义
Blade 使用双大括号 {{ }} 输出变量内容。默认会对 HTML 进行自动转义,防止 XSS 攻击:
{{ $name }} → 输出转义后的字符串(如 会变成 zuojiankuohaophpcnscriptyoujiankuohaophpcn)
{!! $html !!} → 原样输出(不转义),仅用于你完全信任的内容,比如富文本编辑器生成的 HTML。
控制结构:if、foreach、for、while 等
Blade 提供了简洁的指令语法替代原生 PHP 控制结构,全部以 @ 开头:
- @if($user->is_active) … @endif
-
@unless($user->banned) … @endunless(等价于
@if(!...)) - @for($i = 0; $i … @endfor
-
@foreach($posts as $post) … @endforeach(支持
$loop变量,如$loop->first、$loop->iteration) - @forelse($posts as $post) … @empty 没有数据时显示 … @endforelse
模板继承与布局复用
Blade 的核心优势之一是模板继承,通过 @extends 和 @section 实现“一处定义,多处填充”:
在 resources/views/layouts/app.blade.php 中定义主布局:
@yield('title', '默认标题') @yield('content')
在子视图 resources/views/home.blade.php 中复用:
@extends('layouts.app')
@section('title', '首页')
@section('content')
欢迎来到首页
当前用户:{{ Auth::user()?->name ?? '游客' }}
@endsection
组件与插槽:封装可复用 UI
从 Laravel 7+ 开始,推荐使用类组件或匿名组件代替传统 @include。例如创建一个按钮组件:
运行命令:php artisan make:component Alert,生成 app/View/Components/Alert.php 和 resources/views/components/alert.blade.php。
在组件视图中使用插槽({{ $slot }})接收内容:
{{ $slot }}
在页面中使用:
操作成功!
也支持具名插槽:。
其他常用指令和技巧
-
@include('p
artials.nav'):引入局部视图(支持传参:@include('view.name', ['key' => 'value'])) - @stack('scripts') + @push('scripts'):在布局中预留 JS/CSS 插入点,子视图按需注入
- @auth / @guest:快捷判断是否登录
- @can('update', $post):基于策略的权限检查(配合 Gate 或 Policies)
- @json($data):安全输出 JSON 字符串(自动转义并加引号,常用于前端初始化数据)
基本上就这些。Blade 不复杂但容易忽略细节,比如转义规则、$loop 变量、组件插槽机制,掌握它们能让模板更健壮、协作更清晰。
# css
# php
# laravel
# html
# js
# 前端
# json
# app
# ai
# gate
# xss
# if
# for
# while
# foreach
# 封装
# include
# 字符串
# 继承
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251811 】
【
AI营销90571 】
相关推荐:
googleplay官方入口在哪里_Google Play官方商店快速入口指南
实例解析Array和String方法
Laravel怎么判断请求类型_Laravel Request isMethod用法
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
JS弹性运动实现方法分析
如何撰写建站申请书?关键要点有哪些?
Laravel如何使用.env文件管理环境变量?(最佳实践)
奇安信“盘古石”团队突破 iOS 26.1 提权
黑客如何利用漏洞与弱口令入侵网站服务器?
如何为不同团队 ID 动态生成多个独立按钮
网站建设保证美观性,需要考虑的几点问题!
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南
java中使用zxing批量生成二维码立牌
Claude怎样写结构化提示词_Claude结构化提示词写法【教程】
网站页面设计需要考虑到这些问题
如何快速搭建高效简练网站?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
如何用y主机助手快速搭建网站?
浅述节点的创建及常见功能的实现
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
微信小程序制作网站有哪些,微信小程序需要做网站吗?
Laravel如何生成和使用数据填充?(Seeder和Factory示例)
python中快速进行多个字符替换的方法小结
如何用景安虚拟主机手机版绑定域名建站?
如何挑选优质建站一级代理提升网站排名?
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
详解Android图表 MPAndroidChart折线图
简单实现Android文件上传
想要更高端的建设网站,这些原则一定要坚持!
微信小程序 五星评分(包括半颗星评分)实例代码
如何自定义建站之星网站的导航菜单样式?
如何在Windows环境下新建FTP站点并设置权限?
如何在阿里云虚拟服务器快速搭建网站?
详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
打造顶配客厅影院,这份100寸电视推荐名单请查收
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
使用C语言编写圣诞表白程序
音响网站制作视频教程,隆霸音响官方网站?
Laravel如何处理CORS跨域请求?(配置示例)
PHP 500报错的快速解决方法
如何在阿里云服务器自主搭建网站?
Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程
上一篇:简单实现jsp分页
下一篇:php 三元运算符实例详细介绍
上一篇:简单实现jsp分页
下一篇:php 三元运算符实例详细介绍


artials.nav'):引入局部视图(支持传参: