從一個真實運作中的校園入口網站,看 Eloquent、Policy、Job、Observer、Console Command、外部系統整合這些不靠套件、靠框架本身的機制怎麼用。刻意排除 Filament:素材專案後台雖然用 Filament 開發,但這個系列只挑非 Filament 的核心 Laravel 用法,包含 Model 設計、Nested Set、Backed Enum、Service Container、SOAP 外部整合、檔案上傳安全、Middleware 實戰等真實踩坑案例,全部對照專案實際的 commit 歷史,不是憑空示範。
前言:官方文件教的用法,跟真實系統裡的用法是同一回事嗎? 「Laravel 的用法官方文件不是寫得很清楚嗎?Eloquent、Policy、Job 這些,跟著文...
前言:這段邏輯到底該寫在 View 裡,還是 Model 裡? 「Blade 裡直接寫 Str::limit($content, 100) 有什麼問題嗎?反正畫...
前言:「這段程式碼能動」跟「這段程式碼沒問題」是兩回事 「這個功能上線好一段時間了,也沒人回報問題,代表程式碼沒問題吧?」 這句話有一個隱藏的前提:沒人回報,不...
前言:一個 Model 可以同時做幾件事? 「一個 Model 對應一張資料表,這不是很單純的事嗎?」 大部分教學範例裡的 Model 確實單純——一個欄位對應...
前言:where 條件寫在 Controller 裡,跟寫在別的地方,差在哪? 「查詢條件不就是一串 where 嗎?寫在 Controller 裡,寫在 Mo...
前言:一個字串欄位,怎麼變成一個安全的型別? 「資料庫存的是字串,程式碼裡拿字串來比對,有什麼問題嗎?」 字串比對能動,但它有一個天生的弱點:打錯一個字、大小寫...
前言:測試資料要用什麼身份建立,寫在哪裡比較好? 「測試資料就是隨便造幾筆,反正跑完測試就丟掉,有什麼好講究的?」 資料本身或許不需要講究,但建立資料的方式,決...
前言:權限判斷寫在 Controller 裡,跟寫在 Policy 裡,差在哪? 「權限判斷不就是 if ($user->role === 'admin'...
前言:如果一個角色能編輯所有角色,包括「能編輯所有角色」這個角色本身呢? 「權限管理不就是判斷『這個使用者有沒有某個權限字串』嗎?」 昨天看到的 BannerP...
前言:不是所有 Command 都要設計成可以重複執行 「Artisan Command 不是應該寫成通用、可重複執行的工具嗎?」 大部分教學會教你把 Comm...