怎樣在重構PHP項目時快速梳理代碼執行流程

最近在用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 flow php call架構

更多架構、PHP、GO相關踩坑實踐技巧請關注個人公衆號:PHP架構師函數

相關文章
相關標籤/搜索