PHP 用の Qodana
![Qodana (PHP リンター言語) Qodana for PHP linter languages](https://resources.jetbrains.com/help/img/qodana/2024.1/php-linter.png)
PHP の Qodana は PhpStorm に基づいています。PhpStorm のすべての機能が組み込まれており、次のことに役立ちます。
異常なコードと潜在的なバグを検出する
デッドコードを削除する
スペルの問題をハイライトする
全体的なコード構造を改善する
コーディングのベストプラクティスを紹介する
インスペクションの結果を Qodana クラウドにアップロードする
サポートされているテクノロジー
PHP 用 Qodana は、次のテクノロジ用にインスペクションを提供します。
プログラミング言語 | PHP JavaScript TypeScript |
マークアップ言語 | Blade CSS HTML JSON および JSON5 RELAX NG XML YAML |
スクリプト言語 | シェルスクリプト |
データベースと ORM | MongoDB MySQL Oracle PostgreSQL SQL SQL Server |
依存関係の管理 | Composer |
フレームワークおよびライブラリ | Cucumber Joomla! PHPUnit Psalm |
サポートされている機能
Qodana for PHP リンターは、次の Qodana 機能を提供します。
フィーチャー | ライセンスに基づいて利用可能 |
---|---|
Ultimate と Ultimate Plus | |
Ultimate と Ultimate Plus | |
Ultimate と Ultimate Plus | |
Ultimate Plus | |
Ultimate と Ultimate Plus | |
Ultimate と Ultimate Plus | |
Ultimate と Ultimate Plus | |
Ultimate Plus | |
Ultimate Plus |
やってみよう
プロジェクトをローカルで分析する
Qodana には、コードのローカル分析のための 2 つのオプションが用意されています。Qodana CLI(英語) は最も簡単に開始できるオプションです。あるいは、「 」タブから Docker コマンドを使用することもできます。
マシンに Qodana CLI がすでにインストールされている(英語)と仮定すると、プロジェクトのルートディレクトリで次のコマンドを実行できます。
ここで、QODANA_TOKEN
変数はプロジェクトトークンを参照します。
まず、Docker Hub からイメージをプルします (最新バージョンを取得する場合にのみ必要です)。
PHP Composer を使用する場合、コード分析が開始される直前に、Qodana によってプロジェクトの依存関係が自動的にインストールされます。
言語レベルを変更する必要がある場合は、以下を <source-directory>/.idea/php.xml
に追加します。
分析をローカルで実行します。
source-directory
はプロジェクトのルートを指し、QODANA_TOKEN
はプロジェクトトークンを指します。
ブラウザーで Qodana クラウド(英語)を開き、インスペクションの結果を調べます。ここで分析を再構成することもできます。詳細については、インスペクションレポートセクションを参照してください。
次のステップ
関連ページ:
![](https://resources.jetbrains.com/help/img/qodana/2024.1/qc-about-diagram.png)
Qodana クラウド
Qodana を複数のプロジェクトまたはリポジトリで実行する場合、特にコードベースが複数のサーバーと仮想プライベートネットワークに分散されていて、各チームが独立して作業している場合は、すべての分析レポートを 1 か所に読み込んで集約すると便利です。このような場合、すべての Qodana インスタンスからレポート情報を収集して表示するための集中型ソリューションが役立ちます。Qodana クラウドは、さまざまな Qodana レポートを蓄積し、プロジェクトの進捗状況を一元的に追跡するのに役立つクラウ...
![](https://pleiades.io/icons/jetbrains_logo.png)
プロジェクトトークン
一般に利用可能な有料リンターでは、Qodana の実行中に変数を使用してプロジェクトトークンを提供する必要があります。例:qodana scan \ -e QODANA_TOKEN="<qodana-cloud-token>"docker run \ -v $(pwd):/data/project/ \ -e QODANA_TOKEN="<qodana-cloud-token>" \ jetbrains/qodana-<linter> 変数には、Qodana リ...
![](https://resources.jetbrains.com/help/img/qodana/2024.1/baseline-enabled.png)
ベースライン
ベースラインは、特定の Qodana 実行時に取得され、ファイルに含まれているコードベースの問題のスナップショットです。ベースライン機能を使用すると、現在のコードとベースラインの状態を比較し、新しい問題、変更されていない問題、解決された問題を確認できます。この機能は、Community、Ultimate、Ultimate Plus ライセンスとその試用版で利用可能なすべてのリンターでサポートされています。使い方:ベースラインなしで Qodana を実行すると、現在の実行時に検出された問題を確認...
![](https://resources.jetbrains.com/help/img/qodana/2024.1/code-coverage-report-qodana.png)
コードカバレッジ
コードカバレッジは、生成されたレポートを使用して、メソッド、クラス、ファイル内の全体的なコードカバレッジを計算します。また、これらのエンティティにおけるカバレッジの不足に関連する問題についても報告します。この機能は、次のリンターの Ultimate および Ultimate Plus ライセンスで利用できます。JVM 用 QodanaIntelliJ IDEA コードカバレッジエージェントが推奨ツールですが推奨される形式です。もサポートされています。JaCoCoJS 用 QodanaJestPHP...
![](https://resources.jetbrains.com/help/img/qodana/2024.1/flexinspect-how-it-works.png)
FlexInspect
IntelliJ IDEA のバージョン 2024.1 以降では、IntelliJ API と Kotlin を使用して、プロジェクト固有の独自のインスペクションを開発できます。次のことが可能です。ソースコードの PSI 表現にアクセスします。新しいインスペクションをオンザフライでデバッグします。期待どおりに動作しないコードフラグメントのハイライトなど、新しいカスタムインスペクションの動作を観察します。FlexInspect を使用すると、すべての IntelliJ IDEA および Qodana イ...
![](https://resources.jetbrains.com/help/img/qodana/2024.1/license-audit-overview-tree.png)
ライセンス監査
プロジェクトのライセンスが依存関係のライセンスと互換性があることを確認するのは決して簡単な作業ではありませんが、これは法的な目的のために必要です。このプロセスを自動化して間違いを避けるために、現在いくつかの Qodana リンターによってサポートされているライセンス監査機能を使用できます。JVM 用 QodanaMaven および GradlePHP 用の QodanaComposerJS 用 Qodananpm および YarnPython 用 QodanapipGo 用 QodanaGo モ...