這篇文章適合以下的觀眾:
用工具就好拉!
前陣子找到wimg/PHPCompatibility可以幫忙爬完整個專案的檔案,
分析其中有沒有與 php7 不相容的語法~
底下內容摘自 wimg/PHPCompatibility requirements
「雖然這個檢查工具設計成相容性報告不應受到執行時 php 版本的影響,
但最好還是使用 php 5.4 以上,以確保得到最一致的報告。」
「PHP CodeSniffer 1.5.6 被要求至少要能檢查 90% 的規則,
而 PHP CodeSniffer 2.6.0 以上都能執行完整的檢查」
首先先在 composer.json 加入底下這些:
"require-dev": {
"squizlabs/php_codesniffer": "^2.2 || ^3.0.2",
"wimg/php-compatibility": "*",
"dealerdirect/phpcodesniffer-composer-installer": "^0.4.3"
},
"prefer-stable" : true
squizlabs/php_codesniffer 是檢查工具的主體;
wimg/php-compatibility 是規則集;
phpcodesniffer-composer-installer 則是「讓規則集能被檢查工具使用」的工具。
然後執行:
composer update --lock
and there you go~
該安裝的工具都安裝完了,就可以先 cd
到專案目錄底下,
然後執行底下這行了~
./vendor/bin/phpcs -p . --standard=PHPCompatibility --runtime-set testVersion 7.0- --report-full=./update.log
fragment | 意思 |
---|---|
./vendor/bin/phpcs | 執行 squizlabs/php_codesniffer |
-p | 顯示執行進度 |
. | 要被檢查的資料夾 |
--standard | 使用的規則集 |
--runtime-set testVersion 7.0- | 設定目標版本是 php 7.0 以上。你也可以用「7.0」、「7.0-7.1」 |
--report-full=./update.log | 把相容性報告寫進「目前所在資料夾的 update.log」 |