<code>Route::get('about', 'PagesController@about');</code>
在瀏覽器中瀏覽會獲得一個錯誤,錯誤訊息只是一個提示訊息,缺少細節,在生產環境 It' ok,但是開發階段我們希望獲得詳細資訊。
<code>APP_DEBUG=true</code>
這將顯示詳細的錯誤訊息,PagesController 不存在。但在生產環境一定要設定為 false
<code>php artisan</code>
可以看到laravel提供的功能。
<code>php artisan make:controller PagesController</code>
ok,在 app->http->controller
下面生成了 PagesController.php
<code><?php namespace App\Http\Controllers; use App\Http\Requests; use App\Http\Controllers\Controller; use Illuminate\Http\Request; class PagesController extends Controller { /** * Display a listing of the resource. * * @return Response */ public function index() { // } /** * Show the form for creating a new resource. * * @return Response */ public function create() { // } /** * Store a newly created resource in storage. * * @return Response */ public function store() { // } /** * Display the specified resource. * * @param int $id * @return Response */ public function show($id) { // } /** * Show the form for editing the specified resource. * * @param int $id * @return Response */ public function edit($id) { // } /** * Update the specified resource in storage. * * @param int $id * @return Response */ public function update($id) { // } /** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($id) { // } }</code>
這樣生成的controller包含了全部所需的RESTful方法,我們可以簡化一下。刪除產生的PagesController.php,在命令列運行:
<code>php artisan make:controller PagesController --plain</code>
再看一下產生的結果
<code><?php namespace App\Http\Controllers; use App\Http\Requests; use App\Http\Controllers\Controller; use Illuminate\Http\Request; class PagesController extends Controller { // }</code>
基本上是一個空的controller,所有的方法我們都需要自己創建。
如果你想知道到底有什麼參數我們可以在命令列執行,你可以執行下面的命令來查看幫助
<code>php artisan help make:controller</code>
ok, 你可以經常使用help指令來幫助你了解這些參數。
<code> public function about() { return 'About Page'; }</code>
在瀏覽器沖查看結果,錯誤消失,回傳簡單的訊息。
我們當然希望返回html文檔,修改about方法的返回:
<code> public function about() { return view('pages.about'); }</code>
注意:傳回的結果是 pages.about
,這表示在 views
子目錄中的 pages
子目錄中的 about.balde.php
檔案。讓我們建立 resourcesviewspagesabout.balde.php
檔案
<code><!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <h1>About</h1> </body> </html></code>
That's it. 運行瀏覽器查看吧,??
修改PagesController.php
<code> public function about() { $name = 'Zhang Jinlgin'; return view('pages.about')->with('name', $name); }</code>
修改我們的視圖檔 about.blade.php
<code><h1>About <?= $name ?></h1></code>
Bingo,查看結果。
我們使用的laravel使用了blade模板,我們可以利用這個好處來修改視圖:
<code><h1>About {{ $name }}</h1></code>
看起來更好了,在blade中,{{}}是轉義html的語義的,讓我來修改一個數據:
<code>$name = '<span style="color: red">Zhang Jinlgin</span>';</code>
查看結果,發現所有的html元素都被轉義了。但如果不需要轉義html,可以使用 {!! !!},修改檢視:
<code><h1>About {!! $name !!}</h1></code>
再看結果,??
以上就介紹了Laravel 5 基礎(三)- 向視圖傳送數據,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。