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