Continuous integration/PHP CodeSniffer/ja
PHP CodeSniffer は、PHP コードのコード スタイルのエラーを検出するユーティリティです。 CodeSniffer のバージョン、依存関係、実行を管理するラッパーとして、composer を使用しています。
まず、composer update
を実行して開発の依存関係を取得します。
ほとんどの MediaWiki 拡張機能、外装、PHP ライブラリでは、composer test
を実行すると CodeSniffer も実行されます。
MediaWiki コアのサイズが大きいため、別のコマンドである composer phpcs
として公開されています。
composer なしでローカルで実行
composer がタイムアウトする問題が発生した場合は、vendor/bin/phpcs -p -s
で直接実行できます。
すべての sniff が見つかるようにするため、ローカル プロジェクト リポジトリの vendor/bin に Composer でインストールされた PHP_CodeSniffer のバージョンを実行することが重要です。
システムのバージョン、つまり PATH にあるものを使用しないでください。
メモリ不足のエラーが発生した場合は、メモリを増やして実行できます:
vendor/bin/phpcs -p -s -d memory_limit=256M
.
Versioning
composer.json
ファイルで、特定のバージョンに固定することをお勧めします。
私たちは、semver.org の精神は守ろうとしますが、実際の基準は守りません。
私たちが気にしているのは、何があっても、composer test
を実行したときに、以前合格していれば合格し、新しいバージョンがリリースされたからといってランダムに失敗することがないようにすることです。
ビルドがランダムに失敗することで、パッチをバックポートしようとしているときや、何かを開発しようとしているときに、それを修正するために作業を中断する必要があると苦痛になります。
現在はメジャー バージョンとして 0 を使用しており、新しい sniff のためにマイナー バージョンを、既存の sniff のバグ修正や機能拡張のためにパッチ バージョンを増加 (bump) する予定です。 実際に含まれる PHP コードについては、安定性は保証されません。
関連項目
- Manual:コーディング規約/PHP
- Extension:BoilerPlate - a skeleton extension, its
composer test
Continuous integration entry point runs PHP CodeSniffer - mediawiki-codesniffer - PHCS 標準
- Continuous integration/Entry points#PHP
- インストール方法 - Instructions on how to install CodeSniffer for an extension
- https://phpcs.toolforge.org/