當你第一次打開 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 只做它最重要的功能,分派任務。