🔧
PHP8.2でphpcs, phpcbfを動かすようにした話
はじめに
PHP8.2でphpcsとphpcbfを動かそうとした時の対応法をまとめます。
phpcs, phpcbfとは
- phpcs: PHP Code Sniffer
- コーディングルール的に問題のある箇所を教えてくれるコマンド
- phpcbf: PHP Code Beautifier and Fixer
- コーディングルール的に問題のある箇所を可能な限り直してくれるコマンド
実際やったこと
composer.json
"cakephp/cakephp-codesniffer": "^4.5",
composer.lock
"cakephp/cakephp-codesniffer": "^4.0",
"squizlabs/php_codesniffer": "^3.6"
vendor/bin/phpcs sample.php
↓以下のエラーとなる
Deprecated: Creation of dynamic property SlevomatCodingStandard\Sniffs\TypeHints\DeclareStrictTypesSniff::$newlinesCountAfterDeclare is deprecated in /var/www/html/vendor/squizlabs/php_codesniffer/src/Ruleset.php on line 1326
Deprecated: Creation of dynamic property SlevomatCodingStandard\Sniffs\TypeHints\DeclareStrictTypesSniff::$newlinesCountBetweenOpenTagAndDeclare is deprecated in /var/www/html/vendor/squizlabs/php_codesniffer/src/Ruleset.php on line 1326
何が起きてる?
コードで言うとここでsniffsに対してnameという動的プロパティを生成しようとして怒られている。
対応方法
vendor/bin/phpcs -d 'error_reporting=E_ALL~E_DEPRECATED' sample.php
エラー出力レベルを調整することで回避できるようになります。
まとめ
以上、PHP8.2にてphpcs, phpcbfを実行する方法でした。
現在はこちらのプルリクで解消された模様です。
最新バージョンを入れていれば問題ないようなのでこれから使う方は最新を入れれば問題ありません!
NE株式会社のエンジニアを中心に更新していくPublicationです。 NEでは、「コマースに熱狂を。」をパーパスに掲げ、ECやその周辺領域の事業に取り組んでいます。 Homepage: ne-inc.jp/
Discussion