[Laravel 學習筆記] 將資料傳送給 Veiws 顯示教學
本系列 Laravel 教學筆記將參酌 Laravel 4 From Scratch、Laravel 5 From Scratch、Laravel 官網和 Laravel 中文官網 相關資訊進行撰寫(以 Laravel 4 From Scratch 為主)。本篇將記錄如何將資料傳送給 Veiws 顯示。首先我們先用 hard coding 的寫法透過 controller 將 data 傳送給 Views 顯示:
class MainController extends \BaseController {
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index() {
$lessions = ['lession1', 'lession2', 'lession3'];
$name = 'KD';
// 傳送方法有以下幾種,其中 compact 是 PHP 函數,將變數轉換成結合陣列的 key => value
return View::make('index', ['lessions' => $lessions]);
// return View::make('index', compact($lessions));
// return View::make('index')->with('lessions', $lessions);
// return View::make('index')->withLession($lessions);
// return View::make('index', compact('lession', 'name'));
}
}
Laravel 5 可以使用的 router 形式(第一種):
1. Route::get()
2. router->get()
3. get()
若需要傳遞參數則使用以下方式接起來做處理:
Route::get('/blog/{id}', 'MainController@showBlog');
public showBlog($id) {
$blog = $this->getBlog()[$id];
return View::make('blog.blog', compact('blog'));
}
public function getBlog() {
$blogs = ['tutorial code', 'hi JAVA', 'hellow wordly'];
return $blogs;
}
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index() {
$lessions = ['lession1', 'lession2', 'lession3'];
$name = 'KD';
// 傳送方法有以下幾種,其中 compact 是 PHP 函數,將變數轉換成結合陣列的 key => value
return View::make('index', ['lessions' => $lessions]);
// return View::make('index', compact($lessions));
// return View::make('index')->with('lessions', $lessions);
// return View::make('index')->withLession($lessions);
// return View::make('index', compact('lession', 'name'));
}
}
Laravel 5 可以使用的 router 形式(第一種):
1. Route::get()
2. router->get()
3. get()
若需要傳遞參數則使用以下方式接起來做處理:
Route::get('/blog/{id}', 'MainController@showBlog');
public showBlog($id) {
$blog = $this->getBlog()[$id];
return View::make('blog.blog', compact('blog'));
}
public function getBlog() {
$blogs = ['tutorial code', 'hi JAVA', 'hellow wordly'];
return $blogs;
}
過去 Native PHP 用法:
<?php foreach($lessions as $lession) : ?>
<h2><?= $lession ?></h2>
<h2><?php echo $lession?></h2>
<h2><?php echo $lession?></h2>
<?php endforeach; ?>
Laravel 內建模版寫法:
@foreach($lessions as $lession)
<h1>{{$lession}}</h1>
@endforeach
@if(condition)
{{ $var }}
{{ $var }}
@elseif(condition)
!! $var !!
// not escape
@else
@endif
@unless($condition)
@endunless