Un reniflement de code PHP personnalisé pour aider à trouver des classes qui ne sont pas conformes à l'autoloader PSR-4.

Veuillez visiter ./tests/demo, si vous souhaitez essayer ce reniflement.
Ce reniflement couvre non seulement les classes mais aussi les interfaces et les traits.
Ce sniff vérifie si les deux espaces de noms et les noms de classe correspondent à la structure du projet PSR-4.
Comme ce reniflement respecte composer.json Configuration automatiquement, vous n'avez pas à déclarer la cartographie entre les préfixes d'espace de noms et les répertoires de base.
PSR4Fixer vérifie si les noms de classe doivent correspondre au nom du fichier et corrigent les noms de classe si cela ne correspond pas aux noms de fichiers. Il ne vérifie pas les espaces de noms.
En revanche, SUIN / PHPCS-PSR4-SNIFF vérifie non seulement les noms de classe mais également les espaces de noms.
SlevomatCodingStandard.Files.TypenameMatchesFileName est un sniff de sniffer de code PHP personnalisé pour vérifier si les espaces de noms et les noms de classe suivent la structure du projet PSR-0 / PSR-4.
Ce reniflement est similaire à SUIN / PHPCS-PSR4-Sniff, mais il a besoin d'une configuration explicite sur la structure du projet PSR-0 / PSR-4. SUIN / PHPCS-PSR4-SNIFF prend une manière implicite car elle suit la configuration automatique du compositeur.
composer require --dev suin/phpcs-psr4-sniff
Au début, créez un fichier PHPCS Ruleset XML (phpcs.xml.dist ou phpcs.xml) dans la racine de votre projet.
<? xml version = " 1.0 " ?>
< ruleset name = " My Project " >
<!-- Specify directory that composer.json is placed. Usually it would be
project root directory. -->
< arg name = " basepath " value = " . " />
<!-- Relative path to your ruleset.xml -->
< rule ref = " vendor/suin/phpcs-psr4-sniff/src/Suin " />
<!-- Optional: If you have to specify composer.json path, please add
following section. -->
< rule ref = " Suin.Classes.PSR4 " >
< properties >
<!-- composerJsonPath must be relative path to "basepath" -->
< property name = " composerJsonPath " value = " sub-dir/composer.json " />
</ properties >
</ rule >
</ ruleset >Ensuite, exécutez-le avec la commande:
vendor/bin/phpcs src
Veuillez consulter Changelog pour plus de détails.
Envoyez le problème ou la demande de traction vers le référentiel principal.