Un código PHP personalizado rastreó para ayudar a encontrar clases que no cumplan con PSR-4 Autoloader.

Visite ./tests/demo, si desea probar este olfateo.
Este olfato cubre no solo clases sino también interfaces y rasgos.
Este olfato verifica si tanto los espacios de nombres como los nombres de clases coinciden con la estructura del proyecto PSR-4.
Como esto respeta composer.json AUTHOADING CONFIGURACIÓN, no tiene que declarar el mapeo entre los prefijos del espacio de nombres y los directorios base.
PSR4Fixer verifica si los nombres de clase deben coincidir con el nombre del archivo y corrige los nombres de clase si no corresponde a los nombres de archivo. No verifica los espacios de nombres.
En contraste, Suin/PhPCS-PSR4-SNIFF verifica no solo los nombres de clases sino también los espacios de nombres.
SlevomatCodingStandard.files.TyPenamEmatchesFileName es un código PHP personalizado Sniffer Sniff para verificar si los espacios de nombres y los nombres de clase siguen la estructura del proyecto PSR-0/PSR-4.
Este olfato es similar a SUIN/PHPCS-PSR4-SNIFF, pero necesita una configuración explícita sobre la estructura del proyecto PSR-0/PSR-4. SUIN/PHPCS-PSR4-SNIFF toma una manera implícita, ya que sigue la configuración de autoloding del compositor.
composer require --dev suin/phpcs-psr4-sniff
Al principio, cree un archivo PhPCS ReglassET XML (phpcs.xml.dist o phpcs.xml) en la raíz de su proyecto.
<? 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 >Luego ejecutarlo con el comando:
vendor/bin/phpcs src
Consulte ChangeLog para obtener más detalles.
Envíe el problema o la solicitud de extracción al repositorio principal.