Quality Assurance Tools for PHP

The below list of tools is provided by the phpqa docker image. Toolbox is used to install them in the image.


toolbox repository phpqa docker image phpqa repository
dephpend

Detect flaws in your architecture

dephpend.com
deptrac

Enforces dependency rules between software layers

qossmic/deptrac
pdepend

Static Analysis Tool

pdepend.org
php-coupling-detector

Detects code coupling issues

akeneo.github.io/php-coupling-detector
phparkitect

Helps to put architectural constraints in a PHP code base

phparkitect/arkitect
ecs

Sets up and runs coding standard checks

Symplify/EasyCodingStandard
pint

Opinionated PHP code style fixer for Laravel

laravel/pint
php-cs-fixer

PHP Coding Standards Fixer

cs.symfony.com
phpcbf

Automatically corrects coding standard violations

squizlabs/PHP_CodeSniffer
twigcs

The missing checkstyle for twig!

friendsoftwig/twigcs
twig-cs-fixer

Automatically corrects twig files following the official coding standard rules

VincentLanglet/Twig-CS-Fixer
php-semver-checker

Suggests a next version according to semantic versioning

tomzx/php-semver-checker
roave-backward-compatibility-check

Tool to compare two revisions of a class API to check for BC breaks

Roave/BackwardCompatibilityCheck
composer-normalize

Composer plugin to normalize composer.json files

ergebnis/composer-normalize
composer-unused

Show unused packages by scanning your code

icanhazstring/composer-unused
composer-require-checker

Verify that no unknown symbols are used in the sources of a package.

maglnet/ComposerRequireChecker
composer-require-checker-3

Verify that no unknown symbols are used in the sources of a package.

maglnet/ComposerRequireChecker
deprecation-detector

Finds usages of deprecated code

sensiolabs-de/deprecation-detector
phpdd

Finds usage of deprecated features

wapmorgan.github.io/PhpDeprecationDetector
phpDocumentor

Documentation generator

www.phpdoc.org
phpcb

PHP Code Browser

mayflower/PHP_CodeBrowser
parallel-lint

Checks PHP file syntax

php-parallel-lint/PHP-Parallel-Lint
phplint

Lints php files in parallel

overtrue/phplint
twig-lint

Standalone cli twig 1.X linter

asm89/twig-lint
yaml-lint

Compact command line utility for checking YAML file syntax

j13k/yaml-lint
twig-linter

Standalone cli twig 3.X linter

sserbin/twig-linter
phpinsights

Analyses code quality, style, architecture and complexity

phpinsights.com
phploc

A tool for quickly measuring the size of a PHP project

sebastianbergmann/phploc
phpmetrics

Static Analysis Tool

www.phpmetrics.org
phpcs

Detects coding standard violations

squizlabs/PHP_CodeSniffer
phpcs-security-audit

Finds vulnerabilities and weaknesses related to security in PHP code

FloeDesignTechnologies/phpcs-security-audit
phpstan

Static Analysis Tool

phpstan/phpstan
phpstan-deprecation-rules

PHPStan rules for detecting deprecated code

phpstan/phpstan-deprecation-rules
phpstan-ergebnis-rules

Additional rules for PHPstan

ergebnis/phpstan-rules
phpstan-strict-rules

Extra strict and opinionated rules for PHPStan

phpstan/phpstan-strict-rules
phpstan-doctrine

Doctrine extensions for PHPStan

phpstan/phpstan-doctrine
phpstan-phpunit

PHPUnit extensions and rules for PHPStan

phpstan/phpstan-phpunit
phpstan-symfony

Symfony extension for PHPStan

phpstan/phpstan-symfony
phpstan-beberlei-assert

PHPStan extension for beberlei/assert

phpstan/phpstan-beberlei-assert
phpstan-webmozart-assert

PHPStan extension for webmozart/assert

phpstan/phpstan-webmozart-assert
phpstan-exception-rules

PHPStan rules for checked and unchecked exceptions

pepakriz/phpstan-exception-rules
phpat

Easy to use architecture testing tool

carlosas/phpat
phpstan-larastan

Separate installation of phpstan for larastan

phpstan/phpstan
larastan

PHPStan extension for Laravel

nunomaduro/larastan
phpstan-banned-code

PHPStan rules for detecting calls to specific functions you don't want in your project

ekino/phpstan-banned-code
psalm

Finds errors in PHP applications

psalm.dev
psalm-plugin-doctrine

Stubs to let Psalm understand Doctrine better

weirdan/doctrine-psalm-plugin
psalm-plugin-phpunit

Psalm plugin for PHPUnit

psalm/psalm-plugin-phpunit
psalm-plugin-symfony

Psalm Plugin for Symfony

psalm/psalm-plugin-symfony
churn

Discovers good candidates for refactoring

bmitch/churn-php
rector

Tool for instant code upgrades and refactoring

rectorphp/rector
psecio-parse

Scans code for potential security-related issues

psecio/parse
local-php-security-checker

Checks composer dependencies for known security vulnerabilities

fabpot/local-php-security-checker
behat

Helps to test business expectations

behat.org
codeception

Codeception is a BDD-styled PHP testing framework

codeception.com
infection

AST based PHP Mutation Testing Framework

infection.github.io
paratest

Parallel testing for PHPUnit

paratestphp/paratest
pest

The elegant PHP Testing Framework

pestphp/pest
phpcov

a command-line frontend for the PHP_CodeCoverage library

sebastianbergmann/phpcov
php-fuzzer

A fuzzer for PHP, which can be used to find bugs in libraries by feeding them 'random' inputs

nikic/PHP-Fuzzer
phpspec

SpecBDD Framework

www.phpspec.net
phpunit

The PHP testing framework

phpunit.de
phpunit-10

The PHP testing framework (10.x version)

phpunit.de
phpunit-9

The PHP testing framework (9.x version)

phpunit.de
phpunit-8

The PHP testing framework (8.x version)

phpunit.de
simple-phpunit

Provides utilities to report legacy tests and usage of deprecated code

symfony.com/doc/current/components/phpunit_bridge.html
diffFilter

Applies QA tools to run on a single pull request

exussum12/coverageChecker
phan

Static Analysis Tool

phan/phan
phpbench

PHP Benchmarking framework

phpbench/phpbench
phpa

Checks for weak assumptions

rskuipers/php-assumptions
phpca

Finds usage of non-built-in extensions

wapmorgan/PhpCodeAnalyzer
phpcpd

Copy/Paste Detector

sebastianbergmann/phpcpd
phpmd

A tool for finding problems in PHP code

phpmd.org
phpmnd

Helps to detect magic numbers

povils/phpmnd

Generated on Mon, 22 Apr 2024 21:59:50 +0000.