一、判断标签
< 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 ) ;
} ) ;
< 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)
@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 )
@endisset
@empty ( $records )
@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