Blogger Information
Blog 28
fans 0
comment 0
visits 21019
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
练习blade模板的语法。如:变量渲染、foreach、if...else...等2、include、section—2019年11月5日
L先生的博客
Original
988 people have browsed it

练习blade模板的语法。如:变量渲染、foreach、if...else...

@foreach($navs as $item)
   <div>{{$item['title']}}**{{$item['url']}}</div>
@endforeach
{{--接收数据时使用{{}}的方式可以输出转义的字符串--}}
{{$span}}
<br>
{{--接收数据时使用{!!!!}的方式可以输出原样字符串--}}
{!!$span!!}


{{--为了解决语法冲突,可能别的前端框架使用这种语法,如果想要原样输出{{}}{!!  !!}中的内容,可以在前面加一个@符--}}
@{{ 内容 }}
@{!! 内容 !!}

<!--这种注释会显示在html源码中-->
<?php //这也是一种注释方法,不会显示在html源码中?>
{{--blade模板引擎中的注释方法,不会显示在html源码中--}}

{{--balde模板中输出使用php的一种方法--}}
@php
echo time();
@endphp

{{--条件判断--}}
@if($span)
{{$span}}
@endif

{{--也可以用原生的代码,个人看习惯,团队看集体--}}
<?php if($span){?>
   <?php //这种直接输出没有转义?>
   <?php echo $span;?>
   <?php }?>
<?php echo '.....................';?>
{{--另外de种循环的方式--}}
@for($i=0;$i<count($navs);$i++)
   @break($i==1)
   <div>{{$navs[$i]['title']}}**{{$navs[$i]['url']}}</div>
   @endfor
<?php echo '.....................';?>
@for($i=0;$i<count($navs);$i++)
   @continue($i==1)
   <div>{{$navs[$i]['title']}}**{{$navs[$i]['url']}}</div>
@endfor
<?php echo '.....................';?>
<?php $i=0;?>
@while($i<count($navs))
<div>{{$navs[$i]['title']}}**{{$navs[$i]['url']}}</div>
<?php $i++;?>
@endwhile

include、section

模板包含

在一个.blade.html页面中使用:

@include('引用的路径')

一般用于引用公共部分,如头部,尾部,各一个文件

@include('引用的路径头部')

内容部分

@include('引用的路径尾部')

模板继承

一个html文件,包括了头部和尾部

<div class="main">

@section('workplace')    

<!--这之间的内容也会被继承-->

@show

<!--workplace 是区块名称-->    

<!--这之间可以加内容也可以不加-->

</div>

要继承的页面

@extend('要继承的文件路径')

@section('workplace')

<div>变化的内容区</div>

@endsection//....以上这种方式会覆盖父级模板区块的内容


@section('workplace')

@parent      //继承了模板区块的内容,放在了变化内容前

<div>变化的内容区</div>

@endsection
//....
@section('workplace')

<div>变化的内容区</div>

@parent      //继承了模板区块的内容,放在了变化内容后

@endsection

//...................................

@yield    

类似赋值被继承的模板

<div class="container">

<div>container</div>

@yield('content')

</div>

继承的页面

@section('content')

<div>变化的内容区</div>

@endsection

总结:

在.blade.html中可以使用blade模板的语法,也可以使用php原生的语法。

所有 Blade 视图文件都将被编译成原生的 PHP 代码并缓存起来,除非它被修改,否则不会重新编译。




Correcting teacher:查无此人查无此人

Correction status:qualified

Teacher's comments:完成的不错。
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments