Laravel 學習筆記(5) - Laravel 的 MVC 模型及 Routing

MVC & Routing

要學 Laravel 框架,先來瞭解它的 MVC 模型,及 Routing 的處理流程。

Laravel 的 MVC 模型

當使用者輸入網址送出請求時,Routing 會分配這個網址由哪個 Controller 來處理。

某些情況下,Controller 會直接返回一個 View ,這個 View 會被 Blade 樣板系統轉換成 HTML 文件送給瀏覽器,瀏覽器將解析這個 HTML 頁面後的畫面呈現給使用者。

另一個情況,則是 Controller 會從 Model 中取得所需的資料加以處理,在返回 View 的同時,傳遞這些處理過的資料。

Model 是一個 PHP 物件,代表的是資料庫中的資料模型。所以 Controller 無需直接和資料庫溝通,而是由 Model 來負責處理。

在 Laravel 中,可以直接由 Routing 返回 View,而不透過 Controller,不過實務上應該較少這麼做,但是是可以這麼做的。

Routing

如果你還沒安裝伺服器,可以先啟動內建伺服器。做法是,在終端機中進入網站目錄,輸入
php artisan serve 伺服器就會啟動,網址為
http://localhost:8000

確定伺服器可以運作後,讓我們來建立第一個也是最簡單的 Routing,暫時先不用 Controller,也沒有 View。

首先,打開 app/routes.php,輸入:
Route::get('/', function()
{
    return 'Hello Laravel~~';
});
Route 是 Laravel 裡的類別,專門用來處理 routing(請求從哪裡來,要交由誰處理),get 是取得資料,相關的方法還有 post 送出資料;put 送出更新資料;delete 刪除資料等。

在瀏覽器中應該可以看到
Hello Laravel~~
'/' 代表是網站的根目錄,如果修改成 'hello',網址則改為
http://localhost:8000/hello
!記得最後面不能有斜線。

Routing 的功能非常多,現在你只要知道它是和網址有關就好,後面會在用到其他功能時再詳細說明。
本文網址:http://blog.tonycube.com/2014/12/laravel-5-laravel-mvc-routing.html
Tony Blog 撰寫,請勿全文複製,轉載時請註明出處及連結,謝謝 😀

3 則留言

  1. 我的app打開並沒有routes.php,是哪裡出了問題嗎,感謝賜教。

    回覆刪除

留言小提醒:
1.回覆時間通常在晚上,如果太忙可能要等幾天。
2.請先瀏覽一下其他人的留言,也許有人問過同樣的問題。
3.程式碼請先將它編碼後再貼上。(線上編碼:http://bit.ly/1DL6yog)
4.文字請加上標點符號及斷行,難以閱讀者恕難回覆。
5.感謝您的留言,您的問題也可能幫助到其他有相同問題的人。