今天我們要來實作laravel的blade樣板引擎,
首先呢?
我們先在app/views/layouts/中產生一個樣板檔,
但是你需要再名字後面加上.blade.php作為副檔名,
所以我們新增一個master.blade.php
在裡面先新增如以下的檔案結構
<title>信息列表</title>
<meta charset="UTF-8">
<style>
.container{
margin: 10% 30% auto;
}
</style>
<div class="container">
@yield('content')
</div>
接著我們要再新增一個畫面檔,
如以下程式碼:
{{-- 使用的樣板名稱 --}}
@extends('layouts.master')
{{-- 要塞入的部分 --}}
@section('content')
@foreach ($message_list as $list)
<p>{{ $list->title;}}
{{ link_to("message/edit/".$list->id, "修改", $secure = false)}}
{{ link_to("message/del/".$list->id, "刪除", $secure = false) }}
</p>
@endforeach
{{ $message_list->links();}}
@stop
接著我們在app/routers.php中加入以下程式碼:
Route::get('message/list_blade', function()
{
//引入檔案
//$results = DB::select('select title from message_list ');
$message_list = DB::table('message_list')->paginate(5);
return View::make('list_blade',array('message_list' =>$message_list ));
});
你可以看到其實程式的部分是沒有變動的,
這樣子我們就可以在index.php/message/list_blade中看到我們的程式了,
這個程式跟我們前面的列表程式是一樣的,
所以由此可知,
我們今天如果要使用樣板的話需要更動的地方會有三個:
由以上我們就可以開始使用樣板引擎了,
下面我們會來介紹他的一些邏輯寫法的部分,
輸出資料:你可以看到我們如果要在畫面中執行動態語法的話,一樣是直接將他用兩個{{}}包起來即可以列印出資料。
Hello, {{ $name }}.
IF判斷式
@if (count($records) === 1)
有一筆資料
@elseif (count($records) > 1)
有多筆資料
@else
沒有任何資料
@endif
@unless (Auth::check())
你尚未登入
@endunless
FOR迴圈
@for ($i = 0; $i < 10; $i++)
現在的值是 {{ $i }}
@endfor
FOREACH 迴圈
@foreach ($users as $user)
<p>這是使用者 {{ $user->id }}</p>
@endforeach
WHILE前置判斷迴圈
@while (true)
<p>我是無限迴圈</p>
@endwhile
以上就是我們今天的介紹。