-->

PHP资讯

您的当前位置:首页 > 资讯 > Laravel框架

laravel整理-9bloade模板

2019-06-25 09:57:29  来源:admin 点击:1043

组件&卡槽
组件和插槽提供了类似布局和区块的优点.
卡槽(slots ):

image.png

 组件(Components ):

image.png

多个卡槽:使用{{ $变量名}}来定义位置,在组件中用@slot判断是当前那个卡槽

注:多个卡槽必须要全部在组件中匹配到。

image.png

原理:通过组件名 alert 去查找对应的视图文件,装载到当前视图,然后通过组件中 @slot
定义的插槽内容去渲染插槽视图中对应的插槽位,如果组件没有为某个插槽位定义对应的插槽内容片段,则组件中的其他不在 @slot
片段中的内容将会用于渲染该插槽位,如果没有其他多余内容则对应插槽位为空。

image.png

 组件传值到卡槽:  注:变量是在定义的视图模板生效

image.png

组件别名:如果 Blade 组件存储在子目录中,你可能想要给它们起别名以便访问。例如,假设有一个存放在 resources/views/components/alert.blade.php 的 Blade 组件 你可以使用 component 方法将这个组件设置别名为 alert(原名是 components.alert)。通常,这个操作在 AppServiceProvider 的 boot 方法中完成:
image.png
数据显示

原生数据:Blade 的 {{ }} 语句已经通过 PHP 的 htmlentities 函数处理以避免 XSS 攻击,如果你不想要数据被处理,比如要输出带 HTML 元素的富文本,可以使用{!! $name!!} 显示json数据:有时候你可能会将数据以数组方式传递到视图再将其转化为 JSON 格式以便初始化某个 JavaScript 变量 

image.png

流程控制

除了模板继承和数据显示之外,Blade 还为常用的 PHP 流程控制提供了便利操作,例如条件语句和循环,这些快捷操作提供了一个干净、简单的方式来处理 PHP 的流程控制,同时保持和 PHP 相应语句的相似性。 If语句:使用语法@if、@elseif、,@else、@endif来构造If语句 

image.png

其他检查函数:

image.png

 认证指令:@auth 和@guest快速判断当前用户是否登录

image.png

Switch语句: 

image.png

使用循环时,你也可以结束循环或跳过当前迭代。

image.png

@continue @break 使用循环变量:loop 这个变量可以提供一些有用的信息,比如当前循环的索引,当前循环是否为首次迭代,抑或当前循环是否为末次迭代:

包含子视图

Blade 的 @include 指令允许你很轻松地在一个视图中包含另一个 Blade 视图,所有父级视图中变量在被包含的子视图中依然有效

image.png

 渲染集合数据:

image.png

服务注入

@inject 用于服务容器获取服务

image.png

image.png

 注释:语法 {{-- --}}

相关文章更多 >

© 2024版权所有 水水网

电话:171780793