## 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) === )
我有一条记录!
@elseif (count($records) > )
我有多条记录!
@else
我没有任何记录!
@endif ##2.2 unless的用法
@unless (Auth::check())
你尚未登录。
@endunless ##2.3
//for的用法
@for ($i = ; $i < ; $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 ##模板内容:
<html>
  <head>
    <title>@yield('title')</title>
  </head>
  <body>
   //sidebar区域
    @section('sidebar')
      这里是模板里面的内容
    @show
    
    //content区域
    <div class="container">
      @yield('content')
    </div>
  </body>
</html> ##子视图内容:
@extends('layouts.master')
@section('title', 'test page') //对应父视图中的sidebar区域
@section('sidebar')
//父视图中的内容保留
@parent
<p>子视图内容11111</p>
@endsection //对应父视图中的content区域
@section('content')
<p>子视图内容22222</p>
@endsection ##情形2 使用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的主体部分   
//我是公共尾部 ```
04-27 04:43