利用idea、phpstorm系列的ide的code inspect功能可以開發出適用於各種編程語言的代碼靜態分析工具。這個功能大家可以自己實現擴展規則,規則也使用了visitor模式,規則里對關心的語法樹節點處理即可。
一個inspect的插件代碼參考
git@github.com:ferrius/php-attention-plugin.git
phpstorm插件開發,使用idea開發,但需要安全phpstorm,創建項目時new一個sdk選擇phpstrorm的安裝目錄,另外還需要依賴phpstorm的plugin-php-lib下的jar包,php.jar php-openapi.jar,這兩個jar包引入的時候scope一定要改為provide,否則插件運行報錯,比如:
No suspicious code found. 283 files processed in 'Directory '... [bWAPP_latest]''.