1. 程式人生 > >怎樣在重構PHP專案時快速梳理程式碼執行流程

怎樣在重構PHP專案時快速梳理程式碼執行流程

最近在用Go重構一個PHP專案,程式碼寫的有點亂,也沒文件,沒註釋,總之就是功能基本靠猜,
然後我找了個小工具快速理清程式碼執行流程,幫助自己理解程式碼邏輯。

首先開啟xdebug的分析器

xdebug.profiler_enable = 1
xdebug.profiler_output_dir = /tmp

分析器有什麼用,有興趣可以去xdebug官網自己去看。

但是xdebug分析器輸出的內容對人是不友好的,使用工具才能方便的看到自己想要的,這裡我們使用webgrind幫助我們檢視這個內容。

webgrind依賴python和graphviz,安裝完成之後修改webgrind的config.php檔案

   /**
     * 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 flow


php call

更多架構、PHP、GO相關踩坑實踐技巧請關注我的公眾號:PHP架構師