Qodana for PHP

Qodana for PHP is based on PhpStorm. It brings all the smarts from PhpStorm, which help you:
detect anomalous code and probable bugs
eliminate dead code
highlight spelling problems
improve overall code structure
introduce coding best practices
Upload inspection results to Qodana Cloud
note
This linter requires the Qodana Cloud project token.
Qodana for PHP provides inspections for the following technologies.
Programming languages | PHP JavaScript TypeScript |
Markup languages | Blade CSS HTML JSON and JSON5 RELAX NG XML YAML |
Scripting languages | Shell script |
Databases and ORM | MongoDB MySQL Oracle PostgreSQL SQL SQL Server |
Dependency management | Composer |
Frameworks and libraries | Cucumber Joomla! PHPUnit Psalm |
The Qodana for PHP linter provides the following Qodana features:
Feature | Available under licenses |
---|---|
Ultimate and Ultimate Plus | |
Ultimate and Ultimate Plus | |
Ultimate and Ultimate Plus | |
Ultimate Plus | |
Ultimate and Ultimate Plus | |
Ultimate and Ultimate Plus | |
Ultimate and Ultimate Plus | |
Ultimate Plus | |
Ultimate Plus |
tip
You can learn more about running Qodana as root and non-root users from the Configure root and non-root users section.
Qodana provides two options for local analysis of your code. Qodana CLI is the easiest option to start. Alternatively, you can use the Docker command from the Docker image tab.
Assuming that you have already installed Qodana CLI on your machine, you can run this command in the project root directory:
$qodana scan \ -e QODANA_TOKEN="<cloud-project-token>" \ -l jetbrains/qodana-php:2024.1
Here, the QODANA_TOKEN
variable refers to the project token.
To start, pull the image from Docker Hub (only necessary to get the latest version):
$docker pull jetbrains/qodana-php:2024.1
If you use PHP Composer, Qodana will install your project dependencies automatically right before the code analysis starts.
In case you need to change the language level, add the following to <source-directory>/.idea/php.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="PhpProjectSharedConfiguration" php_language_level="<desired level>" />
</project>
Run the analysis locally:
$docker run \ -v <source-directory>/:/data/project/ \ -e QODANA_TOKEN="<cloud-project-token>" \ jetbrains/qodana-php:2024.1
with source-directory
pointing to the root of your project, and QODANA_TOKEN
referring to the project token.
In your browser, open Qodana Cloud to examine inspection results. Here, you can also reconfigure the analysis, see the Inspection report section for details.
Thanks for your feedback!