Laravel学习笔记基础系列--(十四)Laravel Blade模板语法的使用

作者: 温新

分类: 【Laravel】

阅读: 2018

时间: 2021-07-12 16:17:21

作者:温新

时间:2021-06-27

hi,我是温新,一名PHPer

上篇文件介绍了两个重要的特性:模板布局与组件/插槽的使用。关于Blade模板引擎提供了非常多的好用的指令。本篇文件就来学习记录相关指令的使用。

模板包含

包含模板

指令:@include(文件名)

模板包含,抽离公共部分代码。如layout.blade.php中的header、footers等可以抽离出来,下现以抽离header为案例进行演示。

第一步:抽离header

文件:layouts.blade.php

复制并删除hdaer区块代码

第二步:新建_header.blade.php

文件位置:layouts/_header.blade.php

@section('header')
    头部
@show

第三步:包含_header

文件位置:layouts/layout.blade.php

@include('layouts._header')

包含模板的数据传递

@include('layouts._header',['name'=>'lisi'])

视图文件中使用

// _header.blade.php
@section('header')
    头部{{$name}}
@show

若要显示,则需要在test视图使用使用@parent指令

流程控制语句

修改DemoController中的test方法,用于简单测试

return view('demo.test')->with('id',10);

接下的操作都在test.blade.php文件中完成

if语句

@if ($id < 10)
	确实小于
@elseif ($id = 10)
	恭喜你答对了
@elseif ($id > 10)
	大于了
@else
	飞到外星去了
@endif

switch

@switch($id)
    @case(1)
    	我是1
    @break
    @case(10)
   		我是10,恭喜你找到了
    @break
    @default
    	啥也不是
@endswitch

循环

@for($i = 0; $i < $id; $i++)
	{{ $i }}
@endfor

while($id < 15)
	{{ $id++ }}
@endwhile

// foreach循环就不演示了,同PHP foreach

unless-非操作

// 因为等于10,所以不显示
@unless($id == 10)
	得不等于10才显示哦
@endunless

isset-检测变量是否存在

// 存在将会被打印出来
@isset($id)
	存在
@endisset

empty

// 因为$ids不存在,所以显示了
@empty($ids)
	为空
@endempty

判断用户是否登录

@auth
	已登录
@endauth

@guest
	未登录
@endguest

blade执行还有很多,没有记录的请参考文档。

我是温新

每天进步一点点,就一点点

请登录后再评论