首页 > 其他 > 详细

6、Blade模板

时间:2020-06-10 18:53:39      阅读:40      评论:0      收藏:0      [点我收藏+]

模板继承

1、@section:定义了视图的一部分

//父模板定义:
@session(se)
这是父模板搞得视图片段
@show

//子模版继承:
@session(ss)
@stop
//若子模版定义自己得内容
@session(ss)
    @parent
    <P> 这是子模版额外得内容 </p>
@stop

 

2、@yield:用来显示指定部分内容

//父模板定义:
<title> 父标题 - @yield(title) </title>

//子模版继承:
@session(title , child)

//实际效果
父标题 - child

//@yield即相当于占位符

 

3、@extends:继承模板的全部内容

//父模板正常定义视图

//子模版继承:
@extend(layouts.blade)

//继承父模板的全部视图

 

4、@parent:除了继承公共部分外,还有自己独立的数据

//父模板用session定义视图
@section(name1)
父视图
@show

//子模版继承的同时,添加自己的数据
@section(name1)
    @parent
    子模版自己的内容
@stop

 

一、在view下新建 公共模板:xx.blade.php

二、子模板不论在view下的那个地方,@extends都可以写:@extends(‘xx‘)

 

基础语法及include的使用

1、模板中输出变量

//控制器 向 视图 传 变量
$name = "张张";
return view(bb,[
    name => $name
]);
//给视图传 $name

//视图接收变量,并输出
{{ $name }}

 

 

2、模板中调用php代码

//模板中直接输出
<p> {{ date(Y-m-d H-i-s,time()) }} </p>

 

 

3、原样输出

//若不想{{$name}}被解析,想要直接输出
@{{$name}}
//即可

 

 

4、模板中的注释

{{--  注释的内容  --}}

//这里的内容在浏览器看不到

 

 

5、引入子视图include的使用

//如:view下定义一个error.blade.php的视图
<p> 错误信息</p>

//引入子视图
@include(error)
//这样子视图的内容即被输出

 

 

模板中的流程控制

1、if else

//控制器向视图,传变量
$name = ming;
return view(welcome , [name => $name]);

//视图进行判断

@if($name==ming)
我是ming
@else($name==qiu)
我是qiu
@endif

//if else 结尾处需要加 @endif

 

 

2、unless :相当于if的取反

//控制器传
$name = ming ;
return view(bb,[name,$name]);

//模板使用
@unless( $name != ming )
i am ming
@endunless

 

 

3、for 

@for( $i=0; $i<10; $i++ )
<p> $i </p>
@endfor

 

 

4、foreach:遍历数组 或 对象

//控制器返回给视图模型对象
$students = Student::get();
return view(/bb,[
    students => $student
]);

//视图遍历
@foreach($students as $student)
    {{ $student -> name }}
@foreach

 

 

5、forelse:同样可以遍历数组 或 对象

//同样控制器向视图传值

//视图遍历
@forelse($students as $student)
    <p> {{ $student -> name }} </p>
@empty
    <p> 这是空的 </p>
@endforelse

//有数据就遍历,没有数据就不遍历

 

 

模板中的url

1、url():通过路由的名称跳转url

//添加路由
Route::any(url,[as => url , uses => XxxController@hello]);

//在任意视图添加 a 链接
<a href="{{ url(url) }}"> 这是链接 </a>

//url() 里面填路由的名称

 

 

2、action():通过指定控制器/方法名跳转rul

//任意视图添加
<a href="{{ action(‘XxxController@index‘) }}"> 根据控制器@方法名跳转 </a>

 

 

3、route():通过路由的别名跳转url

//路由别名跳转
Route::any(url,[as => aac , uses => XxxController@hello]);

//视图
<a href="{{ route(‘aac‘) }}"> 别名跳转 </a>

 

 

//一般使用 url() 或 route() 就好

6、Blade模板

原文:https://www.cnblogs.com/mingliangge/p/13070643.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!