Laravel之判断标签、循环

本文档主要介绍了Laravel框架中Blade模板的使用,包括如何进行条件判断和循环操作,如@foreach、@forelse等,以及在模板中的基本赋值和视图路由的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、判断标签
<h1>{{$data['title']}}</h1>
		<p>{{$content['content']}}</p>

		{{$data['score']}}
		@if($data['score'] >= 60)
			<p class="text-success">及格</p>
		@else
			<p class="text-danger">不及格</p>
		@endif

		<!--unless除非  否则 -->
		@unless($data['score' ]>= 60)
			<p class="text-danger">不及格</p>
		@endunless

		<!--isset判断变量是否存在 -->
		 @isset($data['score'])
			<p class="text-danger">存在</p>
		@unisset 

		<!-- empty判断变量是否为空 -->
		 @empty($data['score'])
			<p class="text-danger">不为空</p>
		@unempty 

//用于只展示页面的路由方法
Route::view('/','welcome',['title'=>'Laravel Blade']);
二、循环@foreach、@forelse、@php
@foreach($user as $m)
			<p>{{$m}}</p>
@endforeach

@forelse($user as $u)
			{{$u}}
		@empty
			暂无记录
@endforelse

@php
	$res = '万般皆是命,半点不由人!';
	echo $res;
@endphp
三、文档
第8章 blade模板
laravel 有自己的模板引擎,.blade.php结尾.
语法相较TP模板和Smarty模板更简洁一些.
8.1 数据要集中传递到模板
在 Smarty 和 TP 模板中 , 要把变量assign 给模板引擎 .:
$smarty->assign('name'=>'MrChi');
$smarty->assign('problem'=>'what's wrong with you!');
在 blade 模板中,有着laravel独特的解析方法,例:
该视图文件位于 resources/views/greeting.blade.php,使用全局辅助函数 view 来返回:
Route::get('/', function () {
return view('greeting', ['name' => 'MrChi']);
});
视图包含应用程序的 HTML,并且将控制器/应用程序逻辑与演示逻辑分开。视图文件存放于 resources/views 目录下。一个简单的视图如下所示:
<!-- 此视图文件位置:resources/views/greeting.blade.php -->
<html>
<body>
<h1>Hello, {{ $name }}</h1>
</body>
</html>
8.1.1模板赋值常用的几种方法
1) 调用view函数,使用第二个参数进行赋值到模板,
注意:赋值一维数组和对象,在模板中取值的方式是不同的
2) 调用with方法在view参数后使用
注意:view('index')->with('name','Mrchi'),模板中取{{$name}},:
Route::get('admin/index',function(){
$data = array('title'=>'whoops : the page is not found');
return view('index')->with('data',$data);
});
/*Blade模板使用*/
<body>
<h1>Laravel MrChi</h1>
<p>{{$data['title']}}</p>
<p>give me a surprise , what's wrong with you thanks!</p>
</body>
3) 在view方法第二个参数使用compact方法
注意: view('index',compact('data')),模板中取值如上
8.1.2 视图路由(5.5新增)
如果你的路由只需要返回一个视图,可以使用 Route::view 方法。
view 方法有三个参数,其中前两个是必填参数,分别是 URL 和视图名称。第三个参数选填,可以传入一个数组,数组中的数据会被传递给视图
Route::view('/welcome', 'welcome');
Route::view('/welcome', 'welcome', ['name' => 'Taylor']);
8.2 模板判断
public function test(){
$arr = ['ti'=>'13','de'=>'sldak','user'=>['1','3','55']];
return view('msg.test',$arr);
}
@if (express) # 注意 express 两边加括
@elseif (express) # 表达示中
@else
@endif:
{{$score}}
@if ($score >= 80)
优秀
@elseif ($score >= 60)
及格
@else
不及格
@endif
除非,if 相反,并且我们还可以使用isset和empty类似于php中直接在模板中判断
@unless ($score >= 60)
除非 score 大于等于60,否则显示不及格
@endunless
@isset($records)
// $records is defined and is not null...
@endisset
@empty($records)
// $records is "empty"...
@endempty
我们还可以使用switch case这种方式,如下
switch 语句可以通过@switch,@case,@break,@default 和 @enswitch 指令构建:
@switch($i)
@case(1)
First case...
@break
@case(2)
Second case...
@break
@default
Default case...
@endswitch
8.3 循环
for循环:
@for ($i=0; $i<10; $i++)
{{$i}} <br>
@endfor
foreach 循环:
@foreach ($user as $u)
{{$u}}
@endforeach
forelse 循环是否为空
@forelse ([] as $u)
{{$u}} //如果数组有数据显示数据
@empty
nobody //如果数组为空,则显示
@endforelse
在某些情况下,将 PHP 代码嵌入到视图中很有用。你可以使用 Blade 的 @php 指令在模板中执行一段纯 PHP 代码
@php
@endphp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值