zoukankan      html  css  js  c++  java
  • laravel框架总结(二) -- blade模板引擎

    ## 1.基本用法

    ##情形1  $name = laravel5
      <div class="title"> {{$name}}  {{$name}}</div>
      //输出结果是  larave5  larave5
    
    ##情形2  $name = laravel5  并且使用@的情形
      <div class="title"> {{$name}}  @{{$name}}</div>
      //输出结果是  larave5{{$name}}
    
    ##情形3 $name=null的情况
      <div class="title"> {{$name or 'xxx'}}是一个优雅的框架</div>
      //输出结果是  xxx是一个优雅的框架
    
    ##情形4 $name没有设置的情况下
      <div class="title"> {{isset($anme)?$name:'xxx'}}是一个优雅的框架</div>
      //输出结果是  xxx是一个优雅的框架
    
    ##情形5 $str='<script>alert(1);</script>'
      <div class="title"> {{$str}}是一个优雅的框架</div>
      //输出结果是  <script>alert(1);</script>
      //标签被转换了,防止注入
    
    ##情形6 $str='<script>document.write("laravel");</script>'
      <div class="title"> {!! $str !!}是一个优雅的框架</div>
      //输出结果是  laravel
      //使用双感叹号,这样就可以使用js输出laraval了

    ## 2.控制结构

    ##2.1 if的用法
      @if (count($records) === 1)
          我有一条记录!
      @elseif (count($records) > 1)
          我有多条记录!
      @else
          我没有任何记录!
      @endif
    
    ##2.2 unless的用法
      @unless (Auth::check())
          你尚未登录。
      @endunless
    
    ##2.3
    //for的用法
      @for ($i = 0; $i < 10; $i++)
          目前的值为 {{ $i }}
      @endfor
    
    //foreach的用法
      @foreach ($users as $user)
          <p>此用户为 {{ $user->id }}</p>
      @endforeach
    
    //forelse的用法  扩展了foreach,当没有数据的时候会输出没有用户
      @forelse ($users as $user)
          <li>{{ $user->name }}</li>
      @empty
          <p>没有用户</p>
      @endforelse
    
    //while的用法
      @while (true)
          <p>我永远都在跑循环。</p>
      @endwhile


    ## 3.模板引擎子视图

    ##情形1
      ##父视图,layouts文件夹下的app.blade.php
      <div>头部内容</div>
      @yield('content')
      <div>尾部内容</div>
    
    
      ##子视图中继承父类模板
      @extends('layouts.app')
      @section('content')
        <div>这里写父视图$yield('content')内容的替换部分</div>
      @endsection
    
      ##子视图最终结果
      //头部内容
      //这里写父视图$yield('content')内容的替换部分
      //尾部内容
    
    ##情形2
      #父视图,layouts文件夹下的app.blade.php   <div>头部内容</div>   @section('content')     <div>我是父类视图的内容</div>   @show   <div>尾部内容</div>   ##子视图中继承父类模板   @extends('layouts.app')   @section('content')   @parent   <div>我是子类视图的内容</div>   @endsection   //上面父类的写法使用 section和show的组合,子类中在section中使用@parent   //这样就会在将父类和子类的内容都输出   ##子视图最终结果   //头部内容   //我是父类视图的内容   //我是子类视图的内容   //尾部内容 ##情形3 使用include并且从子视图往父类视图传递参数   ##common文件夹下header.blade.php   <div>我是公共头部{{$page}}</div>   ##common文件夹下footer.blade.php   <div>我是公共尾部</div>   ##index.blade.php中使用以上两个共用部分   @include'common.heaer,['page'=>",首页内容"]'
      <div>我是index的主体部分</div>   @include'common.footer'   ##子视图最终结果   //我是公共头部,首页内容   //我是index的主体部分   //我是公共尾部
  • 相关阅读:
    织梦DedeCms网站首页不生成html文件动态显示方法
    PHP7.0下安装DEDE织梦 出现 GD不支持的解决方法
    DEDECMS5.7支持伪静态的方法
    DEDECMS全站伪静态设置方法
    设置 SSH 通过密钥登录
    Windows安装OpenSSH服务
    VS Code远程开发工具错误-找不到SSH安装
    帝国CMS自定义列表的排序
    帝国CMS灵动标签e:loop的使用方法
    cisco 3750交换机堆叠后配置恢复方法
  • 原文地址:https://www.cnblogs.com/ghjbk/p/6636892.html
Copyright © 2011-2022 走看看