最近在用Go重構一個PHP項目,代碼寫的有點亂,也沒文檔,沒註釋,總之就是功能基本靠猜, 而後我找了個小工具快速理清代碼執行流程,幫助本身理解代碼邏輯。php
首先打開xdebug的分析器python
xdebug.profiler_enable = 1 xdebug.profiler_output_dir = /tmp
分析器有什麼用,有興趣能夠去xdebug官網本身去看。git
可是xdebug分析器輸出的內容對人是不友好的,使用工具才能方便的看到本身想要的,這裏咱們使用webgrind幫助咱們查看這個內容。github
webgrind依賴python和graphviz,安裝完成以後修改webgrind的config.php文件web
/** * Path to python executable */ static $pythonExecutable = '/usr/bin/python'; /** * Path to graphviz dot executable */ static $dotExecutable = '/usr/local/bin/dot';
而後在webgrind目錄下執行服務器
php -S 127.0.0.1:19000 //使用php內置http服務器,php version >= 5.4
webgrind能夠生成流程圖和分析每一個方法函數的執行時間,這裏我用CodeIgniter作個例子,展現下效果 架構
更多架構、PHP、GO相關踩坑實踐技巧請關注個人公衆號:PHP架構師函數