laravel在视图中使用php代码

news/2024/7/7 7:43:06 标签: php, laravel, 开发语言

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

注意:使用blade模板引擎时视图文件的后缀名必须是.blade.php,如果你的视图文件后缀名是.php的话,这样就无法使用blade模板引擎

一:输出PHP变量

php">php">{{ $name }}
{{ date('Y-m-d H:i:s',time()) }}
{{ in_array($name,$arr)?'true':'false' }}
{ isset($name)?$name:'default' }}
{{ $name or 'default' }}

二:显示未转义数据

默认的,Blade {{}} 声明会自动的使用 PHP 的 htmlentities 方法来避免 XSS 攻击。如果你不想你的数据被转义,你可以使用下面的语法

php">php">{!! $name !!}
注意:当你在应用中输出用户输入的数据时应该非常的谨慎,你应该总是使用 {{}} 来转义内容中任意的 HTML 实体

三:if语句

php">php">@if ($name == 'hello')
    hello
@elseif($name == 'yes')
    yes
@else
    who
@endif

为了方便,Blade 也提供了 @unless 指令:

php">php">@unless($name)
    {{$name}}
@endunless

@unless()就可以理解为 if( ! ),就是if not

四:循环语句

php">php">@foreach($student as $val)
  {{ $val->name }}
@endforeach

@for ($i = 0; $i < 10; $i++)
  The current value is {{ $i }}
@endfor

@forelse ($users as $user)
  <li>{{ $user->name }}</li>
@empty
  <p>No users</p>
@endforelse

@while (true)
  <p>I'm looping forever.</p>
@endwhile

五:包含子视图

你可以使用 @include 指令来包含一个视图的内容,当前视图中的变量也会被共享给子视图

php">php"><div>
  @include('shared.errors')
  <form>
  <!-- Form Contents -->
  </form>
</div>

尽管子视图会自动继承父视图中的所有数据变量,你也可以直接传递一个数组变量来添加额外的变量到子视图

php">php">@include('view.name', ['some' => 'data'])


http://www.niftyadmin.cn/n/1583400.html

相关文章

Docker入门(三)使用Docker Compose

Compose介绍 Compose 项目是 Docker 官方的开源项目&#xff0c;负责实现对 Docker 容器集群的快速编排。Compose 是一个用户定义和运行多个容器的 Docker 应用程序。在 Compose 中你可以使用 YAML 文件来配置你的应用服务。然后&#xff0c;只需要一个简单的命令&#xff0c;就…

PYTHON2.day05

1.poll方法实现IO多路复用 p poll() p.register() p.unregister() p.poll() 2.epoll方法实现IO多路复用 * 效率更高 * 触发方式更多 * 可以监控的更多IO 3.struct模块 功能&#xff1a;python数据转换为bytes发送 Struct(fmt)生成数据格式对象…

ACM MM 论文 | 用于行人重识别的多层相似度感知CNN网络 ...

小叽导读&#xff1a; 行人重识别是指给定一个摄像头下某个行人的图片&#xff0c;在其他摄像头对应的图片中准确地找到同一个人。行人重识别技术有十分重要的科研和实际应用价值&#xff0c;近来广泛应用到交通、安防等领域&#xff0c;对于创建平安城市、智慧城市具有重要的意…

分享几款Unity脚本插件 解决跨平台输入控制难题 ...

随着科技进步和游戏硬件品质的不断提升&#xff0c;游戏玩家对游戏操作的便利性有了越来越高的要求。对于Unity游戏开发人员来说&#xff0c;要让游戏同时适配不同的游戏平台真的不是一件容易的事情。今天千锋讲师就分享几款Unity脚本插件&#xff0c;帮助大家解决全平台的输入…

laravel乐观锁和悲观锁

一&#xff1a;乐观锁在laravel中乐观锁大多是基于数据版本 &#xff08; Version &#xff09;记录机制实现。何谓数据版本&#xff1f;即为数据增加一个版本标识&#xff0c;在基于数据库表的版本解决方案中&#xff0c;一般是通过为数据库表增加一个 “version” 字段来实现…

借助工具完成js 合并及压缩混淆处理

一、应用背景个别页面会请求多个js&#xff0c;且这些js 长久不会变动&#xff0c;可做压缩合并处理&#xff0c;减少请求 二、操作参考&#xff1a;https://www.zhangxinxu.com/wo... 简述&#xff1a;1、全局安装 uglify.js&#xff1a; npm install uglify-js -g 2、选定js做…

基于快速GeoHash,如何实现海量商品与商圈的高效匹配?

小叽导读&#xff1a;闲鱼是一款闲置物品的交易平台APP。通过这个平台&#xff0c;全国各地“无处安放”的物品能够轻松实现流动。这种分享经济业务形态被越来越多的人所接受&#xff0c;也进一步实现了低碳生活的目标。 今天&#xff0c;闲鱼团队就商品与商圈的匹配算法为我们…

实战:基于Spring Boot快速开发RESTful风格API接口

写在前面的话 这篇文章计划是在过年期间完成的&#xff0c;示例代码都写好了&#xff0c;结果亲戚来我家做客&#xff0c;文章没来得及写。已经很久没有更新文章了&#xff0c;小伙伴们&#xff0c;有没有想我啊。言归正传&#xff0c;下面开始&#xff0c;今天的话题。 目标 写…