在 typo3 項目中,我一直依賴 rector 來自動重構代碼,并使用 phpstan 進行靜態分析,以盡早發現潛在的錯誤和代碼風格問題。然而,我發現這些工具在處理 typo3 特定的代碼時,往往缺乏足夠的上下文信息,導致分析結果不夠準確。例如,對于 typo3 的依賴注入、配置讀取等,靜態分析工具很難理解其背后的邏輯。
為了解決這個問題,我開始尋找一種方法,能夠將 TYPO3 的內部信息,例如已注冊的服務、配置信息等,以一種結構化的方式提供給靜態分析工具。經過一番研究,我發現了 ssch/typo3-debug-dump-pass 擴展。
這個擴展通過在 TYPO3 的 var/cache/ 目錄中生成 xml 文件,將 TYPO3 的內部信息以結構化的形式導出。靜態分析工具可以通過讀取這些 XML 文件,獲得更全面的 TYPO3 上下文信息,從而提高分析的準確性和效率。
安裝 ssch/typo3-debug-dump-pass 擴展非常簡單,只需要在你的 TYPO3 項目中使用 composer:
composer require --dev ssch/typo3-debug-dump-pass
安裝完成后,該擴展會自動在 TYPO3 的編譯過程中運行,并將調試信息導出到 XML 文件中。
現在,Rector 和 PHPStan 等靜態分析工具就可以讀取這些 XML 文件,從而獲得更深入的 TYPO3 內部信息,并進行更準確的分析。例如,Rector 可以更好地理解 TYPO3 的依賴注入,從而更安全地進行代碼重構;PHPStan 可以更好地理解 TYPO3 的配置讀取,從而更準確地發現潛在的錯誤。
通過使用 ssch/typo3-debug-dump-pass 擴展,我成功地提升了 TYPO3 項目的靜態分析能力,提高了代碼質量和開發效率。如果你也正在使用 Rector 和 PHPStan 等靜態分析工具來開發 TYPO3 項目,那么強烈建議你嘗試一下這個擴展。
Composer在線學習地址:學習地址