在 debug 之前我們要知道什麼是 bug。
請勾選屬於 bug 的東西:
以上都不叫做 bug,你才有 bug!
Hint:
- 程式碼的錯誤 => Bug
- 操作失敗(但程式碼是正確的)=> Error
歡迎交流一下你被寫過的 bug。
不是所有人都能在腦中寫出完美的程式碼,多數的開發者也沒辦法一眼看出是哪裡寫錯、寫錯什麼。
我們需要一些工具幫助我們檢查有可能出錯的地方。
「印出來看看」應該是所有程式語言共通的 debug 方法。
PHP 印出來的方法有很多種:
在除錯時是要使用 ddd() 這種方便閱讀、能印出資訊的輔助函式。
https://laraveldaily.com/echoing-dd-vs-var_dump-vs-print_r/
印出來看看 debug 法其實也足夠應付大部分的除錯需求。
ddd() 其實已經能夠印出 query、log 等等,但使用 Debug Tool 這樣的監控面板,我們就不需要主動下斷點來除錯。
Laravel Debugbar
老牌的 Debug Tool
Telescope
Laravel 官方推薦的擴展工具,db query 似乎有比 Debugbar 更多細節。
Ray
要付費,沒研究。
PHPStorm + Xdebug
太難裝,沒研究。
寫完這篇文後看到這個古早 debug 法,隨手記下來。
古早 debug 法
在想除錯的頁面開啟錯誤提示
ini_set('display_errors', 1);
error_reporting(E_ALL);