最新公告
  • 欢迎您光临002y资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • Laravel框架中Blade模板的用法示例

    正文概述    2022-06-23   13

    简介

    Blade它不像其他流行的 PHP 模板引擎那样限制你在视图中使用原生的 PHP 代码,事实上它就是把 Blade 视图编译成原生的 PHP 代码并缓存起来。缓存会在 Blade 视图改变时而改变,这意味着 Blade 并没有给你的应用添加编译的负担。Blade 视图文件使用 .blade.php 后缀,一般情况下都被存储在 resources/views 目录。

    1. 继承、片段、占位、组件、插槽

    1.1 继承

    1.1.1 定义父模板

    Laravel/resources/views/base.blade.php

    1.1.2 子模板继承

    路径:Laravel/resources/views/child.blade.php

    @extends('base')

    1.2 片段

    1.2.1 父模板定义片段

    @section('part')
    // 中间内容即使一个片段
    @show

    1.2.2 子模板填充片段

    @section('part')

    片段填充内容

    @endsection

    1.3 占位

    1.3.1 父模板占位:

    @yield('title')

    1.3.2 子模板填充占位

    第一种填充(文本):

    @section('title' , '填充的文本占位')

    第二种填充(文本 or html)

    @section('title')

    填充的占位

    @endsection

    1.4 组件、插槽

    1.4.1 定义组件

    路径:Laravel/resources/views/component.blade.php

    <div class='component'>
     <!-- $title,$content 变量实际上就是预定义的插槽 -->
     <div class='title'>{{ $title }}</div>
     <div class='content'>{{ $content }}</div>
    </div>

    1.4.2 使用组件

    路径:Laravel/resources/views/test.blade.php

    @component('component')
     @slot('title')
      组件标题
     @endsolt
     
     @slot('content')
      组件内容
     @endslot
    @endcomponent

    2. 数据显示

    2.1 转义输出

    {{ $name }}

    2.2 未转义输出

    {!! $name !!}

    2.3 原格式输出

    第一种(适合量不多):

    @{{ name }}

    第二种(适合量多):

    @verbatim
    {{ name }}
    {{ sex }}
    {{ age }}
    @endverbatim

    3. 流程控制

    3.1 for

    注意:

    没有 $loop 变量 没有 @empty 有 @break 有 @continue
    @for ($i = 0; $i < 10; ++$i)
     {{ $i }} <br />
    @endfor

    3.2 foreach

    注意:

    有 $loop 变量 没有 @empty 有 @break 有 @continue
    @foreach ($data as $k => $v)
     {{ $k }} <br />
    @endforeach

    3.3 forelse

    注意:

    有 $loop 变量 必须有 @empty 有 @break 有 @continue
    @foreach ($data as $k => $v)
     {{ $k }} <br />
    @empty

    数组没有数据

    @endforeach

    4. 使用原生 PHP

    @php 
    echo "使用原生 PHP";
    @endphp

    5. 包含子视图

    注意

    被包含的子视图可以引用父视图定义的所有变量。 你可以传递额外的数据到子视图

    定义父视图 parent.blade.php,并包含子视图 child.blade.php,且传入额外数据

    /**
     * 父视图
     * 父视图拥有变量 $name = 'chenxuelong'
     */
    
    <div class='parent'>
     <div class='username'>{{ $username }}</div>
     <div class='child'>
      <!-- 包含子视图 -->
      @include('child' , [
       'other' => '额外数据'
      ])
     </div>
    </div>
    
    /**
     * 子视图
     */
     <div class='username'>{{ $username }}</div>
     <div class='other'>{{ $other }}</div>

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


    002y资源网 » Laravel框架中Blade模板的用法示例

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    微信支付
    余额支付
    ×
    微信扫码支付 0 元