為了讓專案更好管理,我們會在 Laravel 裡利用 controller 來管理資料跟 view 的部分。
Laravel 的 Controller 在 App\Http\Controllers\Controller 裡,我們可以建立一個新的 Controller 名字為 UserController
namespace App\Http\Controllers; use App\Http\Controllers\Controller; class UserController extends Controller { public function index() { return view('user'); } }
用 php artisan 建立會更快一些
php artisan make:controller UserController
接下來設定 Router:
Route::get('/user', [UserController::class, 'index']);
本來是直接從 router 那邊去讀 view,修改成這樣就變成
Route -> Controller -> View
意思是我們在 /user 的路徑時,會去 UserController 去讀 index 這個方法,注意這是 Laravel 8.x 的寫法,跟舊版的會有點不一樣。
那在 UserController 裡就是去讀 view,可以根據你寫的讀取檔案,一樣可以帶物件進去。
如果要帶變數到 Controller,可以在 Router 改成這樣:
Route::get('/user/{id}', [UserController::class, 'index']);
修改 index 的方法將資料帶到 view:
public function index($id) { return view('user', [ "id"=>$id ]); }
這樣在 view 就可以顯示帶過去的內容了:
{{ $id }}
如果有要檢查網址可以參考這篇。