laravel框架(blade模板引擎)

Posted ArcheWong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
//这样就会在将父类和子类的内容都输出  <div>我是父类视图的内容</div>  <div>我是父类视图的内容</div>

##子视图最终结果
//头部内容
//我是父类视图的内容
//我是子类视图的内容
//尾部内容

##情形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的主体部分
//我是公共尾部

```










































































































































以上是关于laravel框架(blade模板引擎)的主要内容,如果未能解决你的问题,请参考以下文章

1+X web中级 Laravel学习笔记——blade模版

laravel Blade 模板引擎

为 Blade 模板引擎添加新文件扩展名

Laravel模板引擎Blade中section的一些标签的区别介绍

laravel模板名字是否必须带blade

laravel-模板引擎Blade