要學 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
如果你還沒安裝伺服器,可以先啟動內建伺服器。做法是,在終端機中進入網站目錄,輸入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 撰寫,請勿全文複製,轉載時請註明出處及連結,謝謝 😀
由 Tony Blog 撰寫,請勿全文複製,轉載時請註明出處及連結,謝謝 😀
我的app打開並沒有routes.php,是哪裡出了問題嗎,感謝賜教。
回覆刪除Laravel 5.x 版改在 routes/web.php
刪除作者已經移除這則留言。
刪除