Repolode
jakzal

jakzal/phpqa

PHPの静的解析、テスト、コード品質ツールを多数まとめたDockerイメージ。ローカルにPHPツールをインストールせずに実行できます。

スター
1,320
フォーク
68
未解決の Issue
1
最終コミット
4 日前

これは何?

phpqaは、PHPStan、Psalm、PHP_CodeSniffer、PHP-CS-Fixer、PHPMD、PHPUnit、Rector、Deptracなど、多数のPHP品質チェックツールをまとめたDockerイメージです。ツールの一覧とインストーラーは、jakzal/toolboxリポジトリで管理されています。

ツールを実行するには、volumeフラグでプロジェクトをコンテナにマウントし、`phpqa phpstan analyse src`のようにツール名を指定します。Debian版とAlpine版があり、複数のPHPバージョンに対応しています。タグは特定のリリースに固定されたものと、毎日更新されるものから選べます。

引数なしで実行すると、利用可能なツールの一覧が表示されます。使い方のヒントをまとめたcookbookも含まれています。exakatなどイメージに含まれないツールについては、別途実行する手順が記載されています。

主な機能

  • 01数十種類のPHP静的解析、lint、テスト、リファクタリングツールを1つのイメージにまとめています。
  • 02複数のPHPバージョンに対応したDebian版とAlpine版を提供しています。
  • 03ローカルにインストールせず、マウントしたプロジェクトディレクトリに対してツールを実行できます。
  • 04リリース固定、パッチバージョン指定、毎日更新のイメージタグを提供しています。
  • 05引数なしで実行すると、利用可能なツールの一覧を表示します。

ユースケース

  • ビルドエージェントにPHP環境を構築せずに、CIでPHPStanやPsalmを実行する。
  • 各メンバーのローカル環境が異なるチームで、PHP-CS-FixerやPHP_CodeSnifferを使ってコーディング規約をチェックする。
  • 導入するツールを決める前に、プロジェクトで複数のPHP解析ツールを試す。

クイックスタート

  1. 1

    Docker Hub リポジトリから latest や php8.5 などのイメージタグを選択します

  2. 2

    Docker でイメージを実行し、同梱されている PHP ツールを使用します

使う前に知っておきたいこと

  • Docker のインストールが必要です。また、ツールはコンテナ内でのみ実行できます。
  • PHP のバージョンによっては利用できないツールがあります。たとえば、PHP 8.3 では phpcov と phpcpd は利用できません。

トピック

よくある質問

phpqa とは?
PHPの静的解析、テスト、コード品質ツールを多数まとめたDockerイメージ。ローカルにPHPツールをインストールせずに実行できます。 phpqaは、PHPStan、Psalm、PHP_CodeSniffer、PHP-CS-Fixer、PHPMD、PHPUnit、Rector、Deptracなど、多数のPHP品質チェックツールをまとめたDockerイメージです。ツールの一覧とインストーラーは、jakzal/toolboxリポジトリで管理されています。
phpqa は無料で使えますか?ライセンスは?
phpqa は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
phpqa は今もメンテナンスされていますか?
活発にメンテナンス中。phpqa の最終コミットは 2026年11月3日 です。
phpqa は何に使えますか?
ビルドエージェントにPHP環境を構築せずに、CIでPHPStanやPsalmを実行する。 各メンバーのローカル環境が異なるチームで、PHP-CS-FixerやPHP_CodeSnifferを使ってコーディング規約をチェックする。 導入するツールを決める前に、プロジェクトで複数のPHP解析ツールを試す。
phpqa のインストール方法は?
Docker Hub リポジトリから latest や php8.5 などのイメージタグを選択します Docker でイメージを実行し、同梱されている PHP ツールを使用します
phpqa はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/jakzal/phpqa

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト