使用 Route

當你第一次打開 Laravel 建立的網站時,會顯示

這個預設畫面。為什麼會顯示這個畫面呢?

註:這裡假定你建立了一個 blog 網站,並且網址為 http://localhost/blog/public/

首先,以純文字編輯器開啟 app/routes.php 檔案,你會看到如下的程式碼:

Route::get('/', function()
{
return View::make('hello');
});

先不解釋,我們來把畫面換成顯示一句「Hello Laravel~」文字。先把這行註解掉

//return View::make('hello');

,換成

return 'Hello Laravel~';

重新整理網頁後,就會看到這段「Hello Laravel~」文字。你剛才做的動作,就是告訴這個 route,當有人連到這個網址時,回傳這段文字。

Route 類別提供了路由的功能,符合 RESTful 標準[1],所以有 get 取得資料;post 新增資料;put 更新資料;delete 刪除資料等功能。

get 方法的第一個參數是 uri,'/' 表示根目錄。第二個參數是動作 (action),由匿名函式表示,在這個函式中,我們直接回傳了一個字串,所以其實這個 Route 並沒有使用到 Controller、Model 及 View。

如果將 '/' 修改成 'hello',網址就會變成

http://localhost/blog/public/hello

!記得,最後面不能有斜線。

剛才註解掉的

return View::make('hello');

是回傳 View 的 make 方法所建立的 HTML 網頁。'hello' 是模版的名稱,這個檔案在 app/views/hello.php。

Route 的功能非常多,你必須了解到,當使用者輸入任何網址時,Route 會最先收到這段網址,接著就會判斷該怎麼處理,像是直接回傳字串;回傳 View;或是處理商業邏輯,但不建議這麼做,而應該把這個任務交給 Controller 去決定如何處理,Route 只做它最重要的功能,分派任務。