- PHP 8.1以上
- Composer
- Git
composer installコードの品質を保証するため、以下のツールを使用しています。
すべての品質チェックを一度に実行:
composer qaこのコマンドは以下を順番に実行します。
- PHP_CodeSniffer (PSR-12準拠チェック)
- PHP-CS-Fixer (コードスタイルチェック)
- PHPStan (静的解析)
- PHPUnit (テスト)
コーディング規約の確認:
composer cs:check自動修正:
composer cs:fixより詳細なスタイルチェック:
composer cs:fixer自動修正:
composer cs:fixer:fix型安全性とバグのチェック (レベル8):
composer stancomposer testカバレッジ付き:
composer test:coverageこのプロジェクトは以下のPSRに準拠しています。
ネームスペースとディレクトリ構造の確認:
composer validate --strict上記のcomposer cs:checkで確認できます。
コミット前に必ず以下を実行してください。
composer qaすべてのチェックがパスすることを確認してからコミットしてください。
プルリクエストやpush時に自動で以下が実行されます。
- PHP 8.1, 8.2, 8.3, 8.4, 8.5での動作確認
- Windows, Linux, macOSでの動作確認
- コード品質チェック (PSR-12, PHPStan)
- テスト実行
詳細は.github/workflows/ci.ymlを参照してください。
- このリポジトリをフォーク
- フィーチャーブランチを作成 (
git checkout -b feature/amazing-feature) - 変更をコミット (
git commit -m 'Add amazing feature') - ブランチにプッシュ (
git push origin feature/amazing-feature) - プルリクエストを作成
- すべての品質チェックがパス (
composer qa) - 新機能にはテストを追加
- PSR-12, PSR-4に準拠
- PHPStan レベル8でエラーなし
FFI関連のエラーはphpstan.neonで適切に無視設定されています。
新たなエラーが出た場合は、以下を確認してください。
- FFIのメソッドは動的に追加されるため、静的解析では検出できません
- FFI\CDataのプロパティも実行時に決定されます
これらは正常な動作です。
開発環境のPHPバージョンが8.1より新しい場合、警告が表示されることがあります。 これは情報提供のみで、エラーではありません。