Facade 透過 getFacadeAccessor 從 Container 解析 instance 的機制,以及 bind 與 singleton 的差異。
程式裡有 sleep() 讓每次測試都要多等幾秒,可抽出 Clock class 用 Mockery spy 替換,或用 php-mock 直接 mock 內建函式,無需改動原始碼。
第三方 class constructor 需要參數時 Container 無法自動 resolve。在 ServiceProvider 用 bind 註冊,即可在任何地方 type-hint 注入。
macOS artisan tinker 用 Guzzle 噴 NSCFConstantString 錯誤,設環境變數關閉 fork safety 即可解決。
Python 爬蟲、PHP 後續處理的跨語言架構:讓 Python 輸出 PSR-7 message 字串,PHP 用 parseResponse 解析,免手動拆 header 和 body。
透過 PDO::exec 把 schema dump 直接載入 SQLite in-memory database,跳過逐一跑 migration 的瓶頸,實測從 2 分 21 秒降到 18 秒。
Doctrine DBAL 不認識 MySQL enum 型別導致 migration 失敗。介紹 Type::addType 與 registerDoctrineTypeMapping 兩種解法。
從頭重寫 PHPUnit for VSCode,整合 VS Code Testing API 讓測試結果即時顯示在側邊欄,新增 Docker 和 SSH 遠端執行環境支援。
Transaction 內 dispatch 的 Job 因 SerializesModels 讀到舊資料,用 afterCommit() 讓 Job 等 commit 後再入列。
複雜頁面測 HTML 很脆弱,改用 viewData() 直接驗 View 變數更穩定;比較 Model 時用 id 或 toArray() 而非直接 assertEquals 物件。