我主要在python(pylons,pyramid)中編程,但最近我在一些magento商店工作。因此,在Python出現錯誤時,我通常會通過打印行來完成調試(如print "#"*20, some_variable
)。在PHP中調試的正確方法是什麼
在PHP中,我知道我可以echo
或print_r
等。但是當控制器或塊中出現問題時,我該如何調試?我也可以使用某種類似於Python的函數print
嗎?
我主要在python(pylons,pyramid)中編程,但最近我在一些magento商店工作。因此,在Python出現錯誤時,我通常會通過打印行來完成調試(如print "#"*20, some_variable
)。在PHP中調試的正確方法是什麼
在PHP中,我知道我可以echo
或print_r
等。但是當控制器或塊中出現問題時,我該如何調試?我也可以使用某種類似於Python的函數print
嗎?
對當前方式的小改進是使用error_log()。這個輸出到一個日誌文件(通常是/ var/log/httpd/error_log),而不是輸出到你的屏幕。
您可以使用真正的調試器(XDebug的)和調試喜歡一個人,用的斷點:)
在簡單的情況下,這兩個快捷鍵(在Eclipse中定義爲模板作爲VDE/DAE(退出的var_dump,打印出數組))似乎是我最好的朋友:
echo '<pre>', var_dump($var), '</pre>'; exit;
echo '<pre>', print_r($var, true), '</pre>'; exit;
PHP允許回聲和print_r的,也看的var_dump,幾乎無處不在你的代碼。
除了可用於快速錯誤搜索的變量輸出之外,您還可以使用php擴展進行可視化調試,例如xdebug和支持該功能的開發環境。 (我最喜歡的是IntelliJ PHPStorm)
通過可視化調試,您可以在代碼中設置斷點,並在您可以看到所有變量內容,調用堆棧等可視功能時直觀地瀏覽代碼。
http://xdebug.org/ – Lusitanian
http://stackoverflow.com/questions/1494288/good-free-php-debugger –