Laravel框架中Blade模板的用法示例

发布时间 - 2026-01-11 03:01:28    点击率:

简介

Blade它不像其他流行的 PHP 模板引擎那样限制你在视图中使用原生的 PHP 代码,事实上它就是把 Blade 视图编译成原生的 PHP 代码并缓存起来。缓存会在 Blade 视图改变时而改变,这意味着 Blade 并没有给你的应用添加编译的负担。Blade 视图文件使用 .blade.php 后缀,一般情况下都被存储在 resources/views 目录。

1. 继承、片段、占位、组件、插槽

1.1 继承

1.1.1 定义父模板

Laravel/resources/views/base.blade.php

1.1.2 子模板继承

路径:Laravel/resources/views/child.blade.php

@extends('base')

1.2 片段

1.2.1 父模板定义片段

@section('part')
// 中间内容即使一个片段
@show

1.2.2 子模板填充片段

@section('part')

片段填充内容

@endsection

1.3 占位

1.3.1 父模板占位:

@yield('title')

1.3.2 子模板填充占位

第一种填充(文本):

@section('title' , '填充的文本占位')

第二种填充(文本 or html)

@section('title')

填充的占位

@endsection

1.4 组件、插槽

1.4.1 定义组件

路径:Laravel/resources/views/component.blade.php

<div class='component'>
 <!-- $title,$content 变量实际上就是预定义的插槽 -->
 <div class='title'>{{ $title }}</div>
 <div class='content'>{{ $content }}</div>
</div>

1.4.2 使用组件

路径:Laravel/resources/views/test.blade.php

@component('component')
 @slot('title')
  组件标题
 @endsolt
 
 @slot('content')
  组件内容
 @endslot
@endcomponent

2. 数据显示

2.1 转义输出

{{ $name }}

2.2 未转义输出

{!! $name !!}

2.3 原格式输出

第一种(适合量不多):

@{{ name }}

第二种(适合量多):

@verbatim
{{ name }}
{{ sex }}
{{ age }}
@endverbatim

3. 流程控制

3.1 for

注意:

  • 没有 $loop 变量
  • 没有 @empty
  • 有 @break
  • 有 @continue
@for ($i = 0; $i < 10; ++$i)
 {{ $i }} <br />
@endfor

3.2 foreach

注意:

  • 有 $loop 变量
  • 没有 @empty
  • 有 @break
  • 有 @continue
@foreach ($data as $k => $v)
 {{ $k }} <br />
@endforeach

3.3 forelse

注意:

  • 有 $loop 变量
  • 必须有 @empty
  • 有 @break
  • 有 @continue
@foreach ($data as $k => $v)
 {{ $k }} <br />
@empty

    数组没有数据

@endforeach

4. 使用原生 PHP

@php 
echo "使用原生 PHP";
@endphp

5. 包含子视图

注意

  • 被包含的子视图可以引用父视图定义的所有变量。
  • 你可以传递额外的数据到子视图

定义父视图 parent.blade.php,并包含子视图 child.blade.php,且传入额外数据

/**
 * 父视图
 * 父视图拥有变量 $name = 'chenxuelong'
 */

<div class='parent'>
 <div class='username'>{{ $username }}</div>
 <div class='child'>
  <!-- 包含子视图 -->
  @include('child' , [
   'other' => '额外数据'
  ])
 </div>
</div>

/**
 * 子视图
 */
 <div class='username'>{{ $username }}</div>
 <div class='other'>{{ $other }}</div>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# laravel  # blade模板  # blade  # 变量  # 解决Laravel blade模板转义html标签的问题  # Laravel框架之blade模板新手入门教程及小技巧  # Laravel中的Blade模板引擎示例详解  # 如何通过View::first使用Laravel Blade的动态模板详解  # Laravel模板引擎Blade中section的一些标签的区别介绍  # 详解laravel中blade模板带条件分页  # 插槽  # 第二种  # 第一种  # 你可以  # 你在  # 不多  # 会在  # 不像  # 这篇文章  # 谢谢大家  # 量多  # 事实上  # 编译成  # 这意味着  # 有疑问  # xhtml  # section  # child  # base  # extends 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  C#如何调用原生C++ COM对象详解  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  Laravel如何处理表单验证?(Requests代码示例)  Laravel用户密码怎么加密_Laravel Hash门面使用教程  如何在万网利用已有域名快速建站?  EditPlus中的正则表达式实战(5)  如何在Windows服务器上快速搭建网站?  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  如何在橙子建站中快速调整背景颜色?  Laravel怎么判断请求类型_Laravel Request isMethod用法  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  Laravel如何使用Blade组件和插槽?(Component代码示例)  Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  微信小程序 配置文件详细介绍  如何用AWS免费套餐快速搭建高效网站?  如何登录建站主机?访问步骤全解析  JS去除重复并统计数量的实现方法  如何制作一个表白网站视频,关于勇敢表白的小标题?  如何快速生成ASP一键建站模板并优化安全性?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  网站制作壁纸教程视频,电脑壁纸网站?  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  javascript基于原型链的继承及call和apply函数用法分析  详解MySQL数据库的安装与密码配置  如何快速完成中国万网建站详细流程?  Android Socket接口实现即时通讯实例代码  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  高性价比服务器租赁——企业级配置与24小时运维服务  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  Internet Explorer官网直接进入 IE浏览器在线体验版网址  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  PythonWeb开发入门教程_Flask快速构建Web应用  Bootstrap整体框架之CSS12栅格系统  微信h5制作网站有哪些,免费微信H5页面制作工具?  网站制作企业,网站的banner和导航栏是指什么?  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  如何用搬瓦工VPS快速搭建个人网站?  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  济南网站建设制作公司,室内设计网站一般都有哪些功能?  浅谈javascript alert和confirm的美化  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解  UC浏览器如何设置启动页 UC浏览器启动页设置方法