[Laravel 學習筆記] 將資料傳送給 Veiws 顯示教學

本系列 Laravel 教學筆記將參酌 Laravel 4 From ScratchLaravel 5 From ScratchLaravel  官網和 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;

}

過去 Native PHP 用法:
<?php foreach($lessions as $lession) : ?>
<h2><?= $lession ?></h2>

<h2><?php echo $lession?></h2>
<?php endforeach; ?>

Laravel 內建模版寫法:
@foreach($lessions as $lession)
  <h1>{{$lession}}</h1>
@endforeach

@if(condition) 
{{ $var }}
@elseif(condition)
!! $var !!


// not escape
@else 
@endif

@unless($condition)
@endunless


贊助本站 (Donate)