Qodana 2023.3 Help

Qodana for PHP

official project

Qodana for PHP linter languages

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

Supported technologies

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

MongoJS

MySQL

Oracle

PostgreSQL

SQL

SQL Server

Dependency management

Composer

Frameworks and libraries

Cucumber

Joomla!

PHPUnit

Psalm

Supported features

The Qodana for PHP linter provides the following Qodana features:

Feature

Available under licenses

Baseline

Ultimate and Ultimate Plus

Code coverage

Ultimate and Ultimate Plus

License audit

Ultimate Plus

PHP version migration

Ultimate and Ultimate Plus

Quality gate

Ultimate and Ultimate Plus

Quick-fix

Ultimate and Ultimate Plus

Taint analysis

Ultimate Plus

Vulnerability checker

Ultimate Plus

Try it now

Analyze a project locally

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:2023.3 \ --show-report

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:2023.3

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 --rm -it \ -v <source-directory>/:/data/project/ \ -e QODANA_TOKEN="<cloud-project-token>" \ -p 8080:8080 \ jetbrains/qodana-php:2023.3 \ --show-report

with source-directory pointing to the root of your project, and QODANA_TOKEN referring to the project token.

Open http://localhost:8080 in your browser to examine inspection results. Here, you can also reconfigure the analysis, see the Inspection report section for details. When done, you can stop the web server by pressing Ctrl-C in the console.

Next steps

Last modified: 12 April 2024