PHP 用の静的分析ツールを提供する Docker イメージ。利用可能なツールのリストとインストーラーは、実際にはjakzal/toolbox
リポジトリで管理されます。
Docker ハブ リポジトリ: https://hub.docker.com/r/jakzal/phpqa/
夜間ビルド: https://hub.docker.com/r/jakzal/phpqa-nightly/
latest
、 debian
(Dockerfile)1.99.0
、 1.99
、 1.99.0-debian
、 1.99-debian
(Dockerfile)1.99.0-php8.1
、 1.99-php8.1
、 php8.1-debian
、 php8.1
(Dockerfile)1.99.0-php8.2
、 1.99-php8.2
、 php8.2-debian
、 php8.2
(Dockerfile)1.99.0-php8.3
、 1.99-php8.3
、 php8.3-debian
、 php8.3
(Dockerfile)alpine
(Dockerfile)1.99.0-alpine
、 1.99-alpine
、(Dockerfile)1.99.0-php8.1-alpine
、 1.99-php8.1-alpine
、 php8.1-alpine
(Dockerfile)1.99.0-php8.2-alpine
、 1.99-php8.2-alpine
、 php8.2-alpine
(Dockerfile)1.99.0-php8.3-alpine
、 1.99-php8.3-alpine
、 php8.3-alpine
(Dockerfile)毎日更新: latest
、 debian
、 alpine
、 php8.4
、 php8.4-alpine
など。パッチバージョン変更時に更新: 1.61
1.61-php8.4
1.61-php8.4-alpine
など。更新なし: 1.61.0
、 1.61.0-php8.4
、 1.61.0-php8.4-alpine
、など。
以下は、サポートされなくなった PHP バージョンの最新のタグです。
1.92.7-php8.0
、 1.93-php8.0
、 php8.0-debian
、 php8.0
(Dockerfile)1.92.7-php8.0-alpine
、 1.93-php8.0-alpine
、 php8.0-alpine
(Dockerfile)1.80.0-php7.4
、 1.80-php7.4
、 php7.4-debian
、 php7.4
(Dockerfile)1.80.0-php7.4-alpine
、 1.80-php7.4-alpine
、 php7.4-alpine
(Dockerfile)1.61.2-php7.3
、 1.61-php7.3
、 php7.3-debian
、 php7.3
(debian/Dockerfile)1.61.2-php7.3-alpine
、 1.61-php7.3-alpine
、 php7.3-alpine
(alpine/Dockerfile)1.44.0-php7.2
、 1.44-php7.2
、 php7.2
(7.2/debian/Dockerfile)1.44.0-php7.2-alpine
、 1.44-php7.2-alpine
、 php7.2-alpine
(7.2/alpine/Dockerfile)1.26.0-php7.1
、 1.26-php7.1
、 php7.1
(7.1/debian/Dockerfile)1.26.0-php7.1-alpine
、 1.26-php7.1-alpine
、 php7.1-alpine
(7.1/alpine/Dockerfile) 名前 | 説明 | PHP8.1 | PHP8.2 | PHP8.3 | PHP8.4 |
---|---|---|---|---|---|
ビハト | ビジネスの期待をテストするのに役立ちます | ||||
箱 | PHAR を使用した高速、設定不要のアプリケーション バンドラー | ||||
ボックス-3 | PHAR を使用した高速、設定不要のアプリケーション バンドラー | ||||
チャーン | リファクタリングに適した候補を発見します | ||||
共受 | Codeception は BDD スタイルの PHP テスト フレームワークです | ||||
作曲家 | PHP の依存関係マネージャー | ||||
コンポーザービンプラグイン | 隔離された場所にビンベンダーをインストールするための Composer プラグイン | ||||
作曲家-正規化 | Composer.json ファイルを正規化する Composer プラグイン | ||||
作曲家要求チェッカー | パッケージのソースで不明なシンボルが使用されていないことを確認してください。 | ||||
作曲家-要求-チェッカー-3 | パッケージのソースで不明なシンボルが使用されていないことを確認してください。 | ||||
作曲家-未使用 | コードをスキャンして未使用のパッケージを表示する | ||||
デプエンド | アーキテクチャの欠陥を検出する | ||||
非推奨検出器 | 非推奨のコードの使用箇所を検索します | ||||
デプトラック | ソフトウェア層間の依存関係ルールを強制します | ||||
差分フィルター | QA ツールを適用して単一のプル リクエストで実行します | ||||
ecs | コーディング標準チェックをセットアップして実行します | ||||
感染 | AST ベースの PHP ミューテーション テスト フレームワーク | ||||
ララスタン | Laravel 用の PHPStan 拡張機能 | ||||
ローカル-php-セキュリティチェッカー | 既知のセキュリティ脆弱性についてコンポーザーの依存関係をチェックします。 | ||||
パラレルリント | PHPファイルの構文をチェックします | ||||
パラテスト | PHPUnitの並列テスト | ||||
依存する | 静的解析ツール | ||||
害虫 | エレガントな PHP テスト フレームワーク | ||||
ファン | 静的解析ツール | ||||
ファイブ | PHARのインストールおよび検証環境 | ||||
php-cs-fixer | PHP コーディング標準フィクサー | ||||
php-ファザー | PHP 用のファザー。ライブラリに「ランダム」入力を与えることでライブラリ内のバグを見つけるために使用できます。 | ||||
php-semver-checker | セマンティック バージョニングに従って次のバージョンを提案します | ||||
php | 弱い仮定をチェックする | ||||
パルキテクト | PHP コードベースにアーキテクチャ上の制約を設けるのに役立ちます。 | ||||
phpat | 使いやすいアーキテクチャテストツール | ||||
phpベンチ | PHP ベンチマーク フレームワーク | ||||
phpca | 非組み込み拡張機能の使用状況を検索します | ||||
phpcb | PHPコードブラウザ | ||||
phpcbf | コーディング標準違反を自動的に修正します | ||||
phpcodesniffer-composer-install | PHP_CodeSniffer コーディング標準 (ルールセット) の簡単なインストール。 | ||||
phpcov | PHP_CodeCoverage ライブラリのコマンドライン フロントエンド | ||||
phpcpd | コピー/ペースト検出機能 | ||||
phpcs | コーディング標準違反を検出します | ||||
phpcs-セキュリティ監査 | PHPコードのセキュリティに関連する脆弱性と弱点を発見します。 | ||||
phpdd | 非推奨の機能の使用状況を検索します | ||||
phpドキュメント | ドキュメントジェネレーター | ||||
phpinsights | コードの品質、スタイル、アーキテクチャ、複雑さを分析します | ||||
phplint | php ファイルを並列で lint します。 | ||||
phploc | PHP プロジェクトのサイズをすばやく測定するツール | ||||
phpmd | PHPコードの問題を見つけるためのツール | ||||
phpmetrics | 静的解析ツール | ||||
phpmnd | マジックナンバーの検出に役立ちます | ||||
phpspec | SpecBDD フレームワーク | ||||
phpstan | 静的解析ツール | ||||
phpstan-禁止コード | プロジェクト内で不要な特定の関数の呼び出しを検出するための PHPStan ルール | ||||
phpstan-beberlei-assert | beberlei/assert 用の PHPStan 拡張機能 | ||||
phpstan-非推奨ルール | 非推奨のコードを検出するための PHPStan ルール | ||||
phpstan 教義 | PHPStan のドクトリン拡張 | ||||
phpstan-ergebnis-rules | PHPstan の追加ルール | ||||
phpstan-例外ルール | PHPStan のチェック例外と未チェック例外のルール | ||||
phpstan-ララスタン | larastan 用の phpstan の個別インストール | ||||
phpstan-phpunit | PHPUnit 拡張機能と PHPStan のルール | ||||
phpstan-strict-rules | PHPStan の非常に厳格で独自のルール | ||||
phpstan-symfony | PHPStan 用の Symfony 拡張機能 | ||||
phpstan-webmozart-assert | webmozart/assert 用の PHPStan 拡張機能 | ||||
phpunit | PHP テスト フレームワーク | ||||
phpunit-10 | PHP テスト フレームワーク (10.x バージョン) | ||||
phpunit-8 | PHP テスト フレームワーク (8.x バージョン) | ||||
phpunit-9 | PHP テスト フレームワーク (9.x バージョン) | ||||
パイント | Laravel のための独自の PHP コード スタイル修正ツール | ||||
詩篇 | PHP アプリケーションのエラーを検出します | ||||
詩篇プラグインの教義 | 詩篇の教義をよりよく理解できるようにするためのスタブ | ||||
psalm-プラグイン-phpunit | PHPUnit 用詩篇プラグイン | ||||
詩篇-プラグイン-symfony | Symfony 用詩篇プラグイン | ||||
疑似解析 | コードをスキャンして潜在的なセキュリティ関連の問題を検出します | ||||
レクター | コードの即時アップグレードとリファクタリングのためのツール | ||||
roave-後方互換性チェック | クラス API の 2 つのリビジョンを比較して BC ブレークをチェックするツール | ||||
シンプルなphpunit | 従来のテストと非推奨のコードの使用状況をレポートするユーティリティを提供します | ||||
twig-cs-fixer | 公式のコーディング標準ルールに従って小枝ファイルを自動的に修正します | ||||
小枝の糸くず | スタンドアロン cli twig 1.X リンター | ||||
小枝リンター | スタンドアロン cli twig 3.X リンター | ||||
小枝 | 小枝に欠けているチェックスタイル! | ||||
yaml-lint | YAML ファイルの構文をチェックするためのコンパクトなコマンド ライン ユーティリティ |
一部のツールは Docker イメージに含まれていません。使用するには、そのドキュメントを参照してください。
名前 | まとめ |
---|---|
分析する | メトリクスとソースコードを視覚化する |
ボックスレガシー | レガシーバージョンのボックス |
作曲家-正規化 | Composer.json ファイルを正規化する Composer プラグイン |
デザインパターン | デザインパターンを検出 |
パラレルリント | PHPファイルの構文をチェックします |
php-カップリング検出器 | コード結合の問題を検出します |
php フォーマッタ | カスタムコーディング標準フィクサー |
phpcf | 非推奨の機能の使用状況を検索します |
phpda | 依存関係グラフを生成します |
phpdoc-to-typehint | PHPDoc に基づいて型ヒントと戻り値の型を自動的に追加します。 |
phpstan-localheinz-rules | PHPstan の追加ルール |
セキュリティチェッカー | 既知のセキュリティ脆弱性についてコンポーザーの依存関係をチェックします。 |
テスト容易性 | PHPコードベースのテスト容易性の問題を分析して報告します。 |
画像をプルします:
docker pull jakzal/phpqa
デフォルトのコマンドでは、使用可能なツールがリストされます。
docker run -it --rm jakzal/phpqa
選択したツールをコンテナー内で実行するには、 -v "$(pwd):/project"
を使用してプロジェクト ディレクトリをコンテナーにマウントする必要があります。一部のツールは/tmp
ディレクトリ (場合によっては PHPStan や Behat など) に書き込むことを好むため、Docker 実行間で共有すると便利なことがよくあります (つまり、 -v "$(pwd)/tmp-phpqa:/tmp"
。選択したツールの完了に時間がかかりすぎる場合に、そのツールを中断できるようにしたい場合は、 --init
オプションを使用できます。詳細については、docker run のドキュメントを参照してください。
docker run --init -it --rm -v " $( pwd ) :/project " -v " $( pwd ) /tmp-phpqa:/tmp " -w /project jakzal/phpqa phpstan analyse src
このコマンドをニーズに合わせて調整し、便宜上エイリアスを作成するとよいでしょう。
alias phpqa= ' docker run --init -it --rm -v "$(pwd):/project" -v "$(pwd)/tmp-phpqa:/tmp" -w /project jakzal/phpqa:alpine '
これを~/.bashrc
に追加すると、新しいターミナル セッションを開始するたびに定義されるようになります。
コマンドは非常に簡単になりました。
phpqa phpstan analyse src
git clone https://github.com/jakzal/phpqa.git
cd phpqa
make build-debian
アルパイン バージョンをビルドするには:
make build-alpine
さらに詳しいヒントやコツについてはクックブックをご覧ください。
このプロジェクトへの貢献については、貢献ガイドをお読みください。このプロジェクトは貢献者の行動規範とともにリリースされていることに注意してください。このプロジェクトに参加すると、その規約に従うことに同意したことになります。