:::
7-1 還沒有控制器的路由寫法
- 假設有個資料表叫做
products,那麼,路由可以這樣設定,左邊是路由,右邊是動作,底下的動作內容都是直接呼叫對應視圖(暫時不要跟著做,因為我們會直接用控制器來做更好):Route::get('/product', function () { return view('index'); })->name('product.index'); Route::get('/product/create', function () { return view('create'); })->name('product.create'); Route::post('/product', function () { return view('store'); })->name('product.store'); Route::get('/product/{id}', function () { return view('show'); })->name('product.show'); Route::get('/product/{id}/edit', function () { return view('edit'); })->name('product.edit'); Route::patch('/product/{id}', function () { return view('update'); })->name('product.update'); Route::delete('/product/{id}', function () { return view('destroy'); })->name('product.destroy');
二、相關說明:
- 動作一般就是一個closesure(閉包或匿名函數,亦即沒有命名的函數),如:
function () { return view('視圖名稱'); } - 可以用
name('路由名稱')加上命名,例如:Route::get('/product', function () { return view('index'); })->name('product.index'); - 為什麼要命名?因為以後可以讓樣板呼叫用(換網址、換路徑都不用再修改程式碼),利用名稱來找到 route,如:
<a href="{{ route('product.index') }}">商品一覽</a> -
查詢有多少 Route 可用
php artisan route:list
7. 開始定義系統各項功能