## 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 ##模板内容: <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的主体部分 //我是公共尾部 ```