Image Docker fournissant des outils d'analyse statique pour PHP. La liste des outils disponibles et l'installateur sont effectivement gérés dans le référentiel jakzal/toolbox
.
Dépôt du hub Docker : https://hub.docker.com/r/jakzal/phpqa/
Constructions nocturnes : https://hub.docker.com/r/jakzal/phpqa-nightly/
latest
, debian
(Dockerfile)1.99.0
, 1.99
, 1.99.0-debian
, 1.99-debian
(Dockerfile)1.99.0-php8.1
, 1.99-php8.1
, php8.1-debian
, php8.1
(Dockerfile)1.99.0-php8.2
, 1.99-php8.2
, php8.2-debian
, php8.2
(Dockerfile)1.99.0-php8.3
, 1.99-php8.3
, php8.3-debian
, php8.3
(Dockerfile)alpine
(Dockerfile)1.99.0-alpine
, 1.99-alpine
, (Dockerfile)1.99.0-php8.1-alpine
, 1.99-php8.1-alpine
, php8.1-alpine
(Dockerfile)1.99.0-php8.2-alpine
, 1.99-php8.2-alpine
, php8.2-alpine
(Dockerfile)1.99.0-php8.3-alpine
, 1.99-php8.3-alpine
, php8.3-alpine
(Dockerfile) Mis à jour quotidiennement : latest
, debian
, alpine
, php8.4
, php8.4-alpine
, etc. Mis à jour lors du changement de version du patch : 1.61
, 1.61-php8.4
, 1.61-php8.4-alpine
, etc. Jamais mis à jour : 1.61.0
, 1.61.0-php8.4
, 1.61.0-php8.4-alpine
, etc.
Voici les dernières balises pour les versions PHP qui ne sont plus prises en charge :
1.92.7-php8.0
, 1.93-php8.0
, php8.0-debian
, php8.0
(Dockerfile)1.92.7-php8.0-alpine
, 1.93-php8.0-alpine
, php8.0-alpine
(Dockerfile)1.80.0-php7.4
, 1.80-php7.4
, php7.4-debian
, php7.4
(Dockerfile)1.80.0-php7.4-alpine
, 1.80-php7.4-alpine
, php7.4-alpine
(Dockerfile)1.61.2-php7.3
, 1.61-php7.3
, php7.3-debian
, php7.3
(debian/Dockerfile)1.61.2-php7.3-alpine
, 1.61-php7.3-alpine
, php7.3-alpine
(alpine/Dockerfile)1.44.0-php7.2
, 1.44-php7.2
, php7.2
(7.2/debian/Dockerfile)1.44.0-php7.2-alpine
, 1.44-php7.2-alpine
, php7.2-alpine
(7.2/alpine/Dockerfile)1.26.0-php7.1
, 1.26-php7.1
, php7.1
(7.1/debian/Dockerfile)1.26.0-php7.1-alpine
, 1.26-php7.1-alpine
, php7.1-alpine
(7.1/alpine/Dockerfile) Nom | Description | PHP8.1 | PHP8.2 | PHP8.3 | PHP8.4 |
---|---|---|---|---|---|
se comporter | Aide à tester les attentes de l’entreprise | ||||
boîte | Bundleur d'applications rapide et sans configuration avec PHAR | ||||
boîte-3 | Bundleur d'applications rapide et sans configuration avec PHAR | ||||
baratte | Découvre les bons candidats pour le refactoring | ||||
codeception | Codeception est un framework de test PHP de style BDD | ||||
compositeur | Gestionnaire de dépendances pour PHP | ||||
plugin-compositeur-bin | Plugin Composer pour installer des fournisseurs de bacs dans des endroits isolés | ||||
compositeur-normaliser | Plugin Composer pour normaliser les fichiers composer.json | ||||
compositeur-requiert-checker | Vérifiez qu'aucun symbole inconnu n'est utilisé dans les sources d'un package. | ||||
composer-require-checker-3 | Vérifiez qu'aucun symbole inconnu n'est utilisé dans les sources d'un package. | ||||
compositeur-inutilisé | Afficher les packages inutilisés en scannant votre code | ||||
dépendre | Détectez les failles de votre architecture | ||||
détecteur de dépréciation | Trouve les utilisations du code obsolète | ||||
déptrac | Applique des règles de dépendance entre les couches logicielles | ||||
filtrediff | Applique les outils d'assurance qualité pour s'exécuter sur une seule demande d'extraction | ||||
ECS | Configure et exécute les contrôles standard de codage | ||||
infection | Cadre de test de mutation PHP basé sur AST | ||||
larastan | Extension PHPStan pour Laravel | ||||
vérificateur de sécurité local-php | Vérifie les dépendances du compositeur pour les vulnérabilités de sécurité connues | ||||
charpie parallèle | Vérifie la syntaxe du fichier PHP | ||||
paratest | Tests parallèles pour PHPUnit | ||||
cela dépend | Outil d'analyse statique | ||||
ravageur | L'élégant framework de test PHP | ||||
phan | Outil d'analyse statique | ||||
phive | Environnement d'installation et de vérification PHAR | ||||
php-cs-fixateur | Réparateur de normes de codage PHP | ||||
php-fuzzer | Un fuzzer pour PHP, qui peut être utilisé pour trouver des bugs dans les bibliothèques en leur fournissant des entrées « aléatoires » | ||||
php-semver-checker | Suggère une prochaine version selon le versioning sémantique | ||||
PHP | Vérifie les hypothèses faibles | ||||
phparkitect | Aide à mettre des contraintes architecturales dans une base de code PHP | ||||
phpat | Outil de test d'architecture facile à utiliser | ||||
phpbench | Cadre d'analyse comparative PHP | ||||
phpca | Recherche l'utilisation d'extensions non intégrées | ||||
phpcb | Navigateur de codes PHP | ||||
phppcbf | Corrige automatiquement les violations des normes de codage | ||||
phpcodesniffer-composer-install | Installation facile des normes de codage PHP_CodeSniffer (ensembles de règles). | ||||
phpcov | une interface de ligne de commande pour la bibliothèque PHP_CodeCoverage | ||||
phppcd | Détecteur de copier/coller | ||||
phpcs | Détecte les violations des normes de codage | ||||
audit-de-sécurité phpcs | Trouve les vulnérabilités et les faiblesses liées à la sécurité dans le code PHP | ||||
phpdd | Trouve l'utilisation de fonctionnalités obsolètes | ||||
phpDocumentateur | Générateur de documentation | ||||
phpinsights | Analyse la qualité, le style, l'architecture et la complexité du code | ||||
PHPlint | Lint les fichiers php en parallèle | ||||
phploc | Un outil pour mesurer rapidement la taille d'un projet PHP | ||||
phpmd | Un outil pour trouver des problèmes dans le code PHP | ||||
phpmetrics | Outil d'analyse statique | ||||
phpmnd | Aide à détecter les nombres magiques | ||||
phpspec | Cadre SpecBDD | ||||
phpstan | Outil d'analyse statique | ||||
phpstan-code-banni | Règles PHPStan pour détecter les appels à des fonctions spécifiques que vous ne souhaitez pas dans votre projet | ||||
phpstan-beberlei-assert | Extension PHPStan pour beberlei/assert | ||||
règles de dépréciation de phpstan | Règles PHPStan pour détecter le code obsolète | ||||
doctrine-phpstan | Extensions de doctrine pour PHPStan | ||||
règles-phpstan-ergebnis | Règles supplémentaires pour PHPstan | ||||
règles d'exception phpstan | Règles PHPStan pour les exceptions cochées et non cochées | ||||
phpstan-larastan | Installation séparée de phpstan pour larastan | ||||
phpstan-phpunit | Extensions PHPUnit et règles pour PHPStan | ||||
règles-strictes-phpstan | Règles très strictes et opiniâtres pour PHPStan | ||||
phpstan-symfony | Extension Symfony pour PHPStan | ||||
phpstan-webmozart-assert | Extension PHPStan pour webmozart/assert | ||||
unité php | Le framework de test PHP | ||||
phpunit-10 | Le framework de tests PHP (version 10.x) | ||||
phpunit-8 | Le framework de tests PHP (version 8.x) | ||||
phpunit-9 | Le framework de tests PHP (version 9.x) | ||||
pinte | Fixateur de style de code PHP avisé pour Laravel | ||||
psaume | Trouve les erreurs dans les applications PHP | ||||
psaume-plugin-doctrine | Des bouts pour permettre au Psaume de mieux comprendre la doctrine | ||||
psaume-plugin-phpunit | Plugin Psaume pour PHPUnit | ||||
psaume-plugin-symfony | Plugin Psaume pour Symfony | ||||
psecio-analyse | Analyse le code à la recherche de problèmes potentiels liés à la sécurité | ||||
recteur | Outil pour les mises à niveau et la refactorisation instantanées du code | ||||
vérification de compatibilité ascendante roave | Outil pour comparer deux révisions d'une API de classe afin de vérifier les ruptures BC | ||||
simple-phpunit | Fournit des utilitaires pour signaler les tests existants et l'utilisation de code obsolète | ||||
twig-cs-fixateur | Corrige automatiquement les fichiers Twig en suivant les règles officielles des normes de codage | ||||
brindille | Twig cli autonome 1.X linter | ||||
brindille-linter | Linter autonome cli twig 3.X | ||||
brindilles | Le style de contrôle manquant pour Twig ! | ||||
yaml-lint | Utilitaire de ligne de commande compact pour vérifier la syntaxe du fichier YAML |
Certains outils ne sont pas inclus dans l'image docker, pour les utiliser référez-vous à leur documentation :
Nom | Résumé |
---|---|
analyser | Visualise les métriques et le code source |
boîte-héritage | Ancienne version de la boîte |
compositeur-normaliser | Plugin Composer pour normaliser les fichiers composer.json |
modèle de conception | Détecte les modèles de conception |
charpie parallèle | Vérifie la syntaxe du fichier PHP |
détecteur de couplage php | Détecte les problèmes de couplage de code |
formateur php | Fixateur de normes de codage personnalisées |
phpcf | Trouve l'utilisation de fonctionnalités obsolètes |
phpda | Génère des graphiques de dépendances |
phpdoc-à-typehint | Ajoute automatiquement des astuces de type et des types de retour basés sur PHPDocs |
règles phpstan-localheinz | Règles supplémentaires pour PHPstan |
vérificateur de sécurité | Vérifie les dépendances du compositeur pour les vulnérabilités de sécurité connues |
testabilité | Analyse et rapporte les problèmes de testabilité d'une base de code php |
Tirez l'image :
docker pull jakzal/phpqa
La commande par défaut listera les outils disponibles :
docker run -it --rm jakzal/phpqa
Pour exécuter l'outil sélectionné dans le conteneur, vous devrez monter le répertoire du projet sur le conteneur avec -v "$(pwd):/project"
. Certains outils aiment écrire dans le répertoire /tmp
(comme PHPStan ou Behat dans certains cas), il est donc souvent utile de le partager entre les exécutions de Docker, c'est-à-dire avec -v "$(pwd)/tmp-phpqa:/tmp"
. Si vous souhaitez pouvoir interrompre l'outil sélectionné si cela prend trop de temps, vous pouvez utiliser l'option --init
. Veuillez vous référer à la documentation de Docker Run pour plus d'informations.
docker run --init -it --rm -v " $( pwd ) :/project " -v " $( pwd ) /tmp-phpqa:/tmp " -w /project jakzal/phpqa phpstan analyse src
Vous souhaiterez peut-être adapter cette commande à vos besoins et créer un alias pour plus de commodité :
alias phpqa= ' docker run --init -it --rm -v "$(pwd):/project" -v "$(pwd)/tmp-phpqa:/tmp" -w /project jakzal/phpqa:alpine '
Ajoutez-le à votre ~/.bashrc
pour qu'il soit défini à chaque fois que vous démarrez une nouvelle session de terminal.
Maintenant, la commande devient beaucoup plus simple :
phpqa phpstan analyse src
git clone https://github.com/jakzal/phpqa.git
cd phpqa
make build-debian
Pour construire la version alpine :
make build-alpine
Veuillez consulter le livre de recettes pour plus de trucs et astuces.
Veuillez lire le guide de contribution pour en savoir plus sur la contribution à ce projet. Veuillez noter que ce projet est publié avec un code de conduite des contributeurs. En participant à ce projet, vous acceptez d'en respecter les termes.