Laravel5.0學習系類2之模板引擎blade
- 分離html文件和數據文件
- 模板引擎中的一部分寫法,
1.分離html文件和數據文件
當前的路由代碼如下:
Route::get('/',function(){
$items=array(1,3,4,'hello');
return View::make('home.index')->with('items',$items);
});
首先,我在views文件夾下面建立一個顯示html文件的前臺頁面文件(layout/master.blade.php)
master.blade.php文件內容
此文件主要是寫html的內容
<!DOCTYPE html>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<body>
<!--導航欄-->
@section('nav')
<li>home</li>
<li>about</li>
@show
@yield('content')<!--顯示數據文件index裏面的content的section界面
{{yidld('content','默認參數') 直接在界面出現默認參數幾個字,不會從數據文件中讀取content的文件}}-->
</body>
</html>
數據文件還在home/index.blade.php文件下
@extends('layout.master')//載入master的html文件
//數據處理的代碼和master.blade.php相對應
@section('content')
@foreach($items as $item)
array content:{{$item}}<br>
@endforeach
<br>
@stop
//由於和html文件中有相同的nav,故而會擠掉html中nav
@section('nav')
<li>Date page content</li>
//下面這句就是保留html中的nav
@parent {{--佈局頁面中的也留下--}}}
@stop
2.使用模板引擎的一些用法
//使用blade模板引擎,就可以省略掉<?php echo "da";?>
這些代碼
直接使用@for,@endfor等等,如下所示
@foreach($items as $item)
array content:{{$item}}<br>
@endforeach
<br>
@if(count($items))
its contains content
@else
its not contains content
@endif
<br>
@while()
@endwhile
@for($i=0;$i<10;$i++)
qw
@endfor
<br>
@unless(count($items)>5)
number lost
@endunless