1. 關於 Laravel 1-1 為何需要框架? 1-2 快速安裝開發環境及開發工具 1-2-1 以Laragon建立運作環境 1-2-2 修改資料庫密碼並建立myshop資料庫 1-2-3 Visual Studio Code文字編輯器 1-2-4 安裝 Composer 1-2-5 [參考]註冊 GitHub 1-2-6 [參考]瀏覽器附加元件 1-2-7 [參考]申請mailtrap帳號 1-2-8 [參考]用Homestead建構開發環境 2. 專案需求分析 2-1 建立專案 2-2 [參考]將專案加入本地端的 git 2-3 [參考]將專案放上GitHub 2-4 設定專案環境 2-5 Laravel運作週期 3. 建立使用者認證 3-1 新增中文語系 4. 了解路由 Router 及視圖 View 4-1 製作系統主樣板 4-2 為樣板製作中文語系檔 4-3 修改首頁畫面 4-4 Blade 樣板語法(自訂導覽列選項) 5. 安裝 laravel-admin 後台 5-1 修改後台設定檔 5-2 將後台選單中文化的方法 6. 修改使用者資料表 6-1 修改註冊頁面 6-2 讓新增的欄位可以寫入資料庫 6-3 剛剛我們做了什麼? 7. 開始定義系統各項功能 7-1 還沒有控制器的路由寫法 7-2 有控制器的路由寫法 8. 在後台新增買家管理 8-1 建立管理買家的後台控制器 8-2 新增管理買家的路由 8-3 新增選單 8-4 調整可修改的項目 9. 建立商品模型 9-1 編輯並執行商品(Product)的 migrate 檔案 9-2 建立後台商品管理頁面 9-3 中文化商品管理界面 9-4 後台新增商品頁面 9-5 後台的驗證表單資料 9-6 後台加入所見即所得編輯器 9-7 後台修改商品 10. 建立前台顯示商品頁面 10-1 建立前台商品控制器 10-2 修改路由讓首頁呈現商品列表 10-3 修改控制器以執行取得資料動作 10-4 修改模型以正確顯示圖片 10-5 修改視圖以顯示商品列表 11. 建立商品測試資料 11-1 讓系統也可以顯示測試圖片 11-2 建立Seeder快速填充資料 12. 建立商品詳情頁的路由 12-1 建立商品詳情頁的控制器 12-2 路由模型綁定 12-3 建立商品詳情頁的視圖 13. 一般的異常處理 13-1 優雅的異常處理 14. 關於購物車 14-1 建立購物車的模型 14-2 設定商品、購物車與買家的關聯 14-3 建立新增至購物車的路由 14-4 建立購物車控制器 15. 使用 Laravel Mix 來管理前端資源 15-1 修改前台視圖 15-2 安裝 SweetAlert 15-3 實現加入購物車按鈕 15-4 將購物項目寫入資料庫 15-5 用 fillable 批量賦值寫入 15-6 建立Request來做資料整理及檢查 15-7 利用模型觀察器建立使用者資料 15-8 根據不同情況來進行新增品項或累加品項 16. 查看購物車商品 16-1 微調購物車的傳送方式 16-2 刪除某個購物品項 16-3 調整商品數量 17. 關於訂單 17-1 建立訂單及品項的模型及控制器 17-2 設定訂單及訂單項目的關聯 17-3 加入送出訂單按鈕 17-4 我的訂單列表 17-5 後台訂單管理 17-6 中文化訂單管理界面 18. 重建由GitHub下載的Laravel專案 18-1 佈署到主機上
12.
建立商品詳情頁的路由
點進去某個商品,路由是連到 product/{{$product->id}}
,所以,在/專案/routes/web.php
新增一筆路由資料
Route::get('/product/{id}', 'ProductController@show')->name('product.show');
路徑中的 {id}
可以直接在控制器中變成變數$id
使用,所以,無須自己帶參數過去。不過路由的參數和控制器的變數是以先後位置來對應的,無關名稱,換言之,控制器中不命名為 $id
也是可以的。
如果該參數可有可無,那麼可以寫成 {id?}
這樣的方式。
如果路由有參數,且確定其格式,那麼可以用->where()
限制參數格式(否則product/create
中的 create
也可能會被當成id),例如:限制id 只允許 0~9 的數字,如此可以降低路由被誤判的機會
Route::get('/product/{id}', 'ProductController@show')->name('product.show')->where('id', '[0-9]+');
如果同一個參數要限制格式,且有好幾個 Route 要用,則可用 Route::pattern()
方式來統一宣告(記得放最上面):
Route::pattern('id' , '[0-9]+');
最後,整個路由看起來像這樣:
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::pattern('id', '[0-9]+');
Route::get('/', 'ProductController@index')->name('index');
Route::get('/product', 'ProductController@index')->name('product.index');
Route::get('/product/{id}', 'ProductController@show')->name('product.show');
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
1. 關於 Laravel 1-1 為何需要框架? 1-2 快速安裝開發環境及開發工具 1-2-1 以Laragon建立運作環境 1-2-2 修改資料庫密碼並建立myshop資料庫 1-2-3 Visual Studio Code文字編輯器 1-2-4 安裝 Composer 1-2-5 [參考]註冊 GitHub 1-2-6 [參考]瀏覽器附加元件 1-2-7 [參考]申請mailtrap帳號 1-2-8 [參考]用Homestead建構開發環境 2. 專案需求分析 2-1 建立專案 2-2 [參考]將專案加入本地端的 git 2-3 [參考]將專案放上GitHub 2-4 設定專案環境 2-5 Laravel運作週期 3. 建立使用者認證 3-1 新增中文語系 4. 了解路由 Router 及視圖 View 4-1 製作系統主樣板 4-2 為樣板製作中文語系檔 4-3 修改首頁畫面 4-4 Blade 樣板語法(自訂導覽列選項) 5. 安裝 laravel-admin 後台 5-1 修改後台設定檔 5-2 將後台選單中文化的方法 6. 修改使用者資料表 6-1 修改註冊頁面 6-2 讓新增的欄位可以寫入資料庫 6-3 剛剛我們做了什麼? 7. 開始定義系統各項功能 7-1 還沒有控制器的路由寫法 7-2 有控制器的路由寫法 8. 在後台新增買家管理 8-1 建立管理買家的後台控制器 8-2 新增管理買家的路由 8-3 新增選單 8-4 調整可修改的項目 9. 建立商品模型 9-1 編輯並執行商品(Product)的 migrate 檔案 9-2 建立後台商品管理頁面 9-3 中文化商品管理界面 9-4 後台新增商品頁面 9-5 後台的驗證表單資料 9-6 後台加入所見即所得編輯器 9-7 後台修改商品 10. 建立前台顯示商品頁面 10-1 建立前台商品控制器 10-2 修改路由讓首頁呈現商品列表 10-3 修改控制器以執行取得資料動作 10-4 修改模型以正確顯示圖片 10-5 修改視圖以顯示商品列表 11. 建立商品測試資料 11-1 讓系統也可以顯示測試圖片 11-2 建立Seeder快速填充資料 12. 建立商品詳情頁的路由 12-1 建立商品詳情頁的控制器 12-2 路由模型綁定 12-3 建立商品詳情頁的視圖 13. 一般的異常處理 13-1 優雅的異常處理 14. 關於購物車 14-1 建立購物車的模型 14-2 設定商品、購物車與買家的關聯 14-3 建立新增至購物車的路由 14-4 建立購物車控制器 15. 使用 Laravel Mix 來管理前端資源 15-1 修改前台視圖 15-2 安裝 SweetAlert 15-3 實現加入購物車按鈕 15-4 將購物項目寫入資料庫 15-5 用 fillable 批量賦值寫入 15-6 建立Request來做資料整理及檢查 15-7 利用模型觀察器建立使用者資料 15-8 根據不同情況來進行新增品項或累加品項 16. 查看購物車商品 16-1 微調購物車的傳送方式 16-2 刪除某個購物品項 16-3 調整商品數量 17. 關於訂單 17-1 建立訂單及品項的模型及控制器 17-2 設定訂單及訂單項目的關聯 17-3 加入送出訂單按鈕 17-4 我的訂單列表 17-5 後台訂單管理 17-6 中文化訂單管理界面 18. 重建由GitHub下載的Laravel專案 18-1 佈署到主機上