Instalar en cualquier proyecto PHP 7.2-PHP 8.3 con cualquier dependencia
Increíblemente rápido con recorrido paralelo listo para usar
Utilice PHP_CodeSniffer o PHP-CS-Fixer, lo que quiera
Utilice conjuntos preparados y conjuntos de PHP CS Fixer para ahorrar tiempo
El compositor requiere simplificar/estándar de codificación fácil --dev
proveedor/bin/ecs
En la primera ejecución, ECS crea el archivo de configuración ecs.php
con directorios y la primera regla para comenzar.
Luego puedes ejecutar nuevamente para ver las diferencias sugeridas:
proveedor/bin/ecs
Para arreglar realmente tu código , agrega --fix
:
proveedor/bin/ecs --fix
¡Eso es todo!
La mayoría de las veces, estará satisfecho con la configuración predeterminada. La parte más relevante es configurar rutas, fichas y conjuntos:
utilizar PhpCsFixerFixerArrayNotationArraySyntaxFixer; utilizar PhpCsFixerFixerListNotationListSyntaxFixer; utilizar SymplifyEasyCodingStandardConfigECSConfig; devolver ECSConfig::configure() ->withPaths([__DIR__ . '/src', __DIR__ . '/pruebas']) ->conReglaConfigurada( ArraySyntaxFixer::clase, ['sintaxis' => 'largo'] ) ->conReglas([ ListSyntaxFixer::clase, ]) ->withPreparedSets(psr12: verdadero);
¿Quiere comprobar todos los archivos *.php
en su raíz ( ecs.php
, rector.php
, etc.)? En lugar de enumerarlos uno por uno, use el método ->withRootFiles()
:
utilice SymplifyEasyCodingStandardConfigECSConfig;devuelva ECSConfig::configure() ->withPaths([__DIR__ . '/src', __DIR__ . '/pruebas']) ->withRootFiles();
¿Quieres incluir uno de los 44 conjuntos de php-cs-fixer?
Puede:
utilice SymplifyEasyCodingStandardConfigECSConfig;devuelva ECSConfig::configure() ->withPaths([__DIR__ . '/src', __DIR__ . '/pruebas']) ->withPhpCsFixerSets(perCS20: verdadero, doctrinaAnnotation: verdadero);
¿Te encantan los conjuntos de reglas, pero quieres omitir una sola regla o algunos archivos?
utilice SymplifyEasyCodingStandardConfigECSConfig;devuelva ECSConfig::configure() ->withSkip([// omitir regla únicaArraySyntaxFixer::class,// omitir regla única en rutas específicasArraySyntaxFixer::class => [__DIR__ . '/src/ValueObject/', ],// omitir directorio por absoluto o * mask__DIR__ . '/src/Migrations',// omitir directorios por mask__DIR__ . '/src/*/Legacy', ]);
Probablemente no los utilice, pero pueden brindarle más control sobre el proceso interno:
use SymplifyEasyCodingStandardConfigECSConfig;use SymplifyEasyCodingStandardValueObjectOption;return ECSConfig::configure()// extensiones de archivo para escanear->withFileExtensions(['php'])// configure rutas de caché y espacio de nombres - útil, por ejemplo, almacenamiento en caché de Gitlab CI, donde getcwd() produce siempre diferentes ruta->withCache( directorio: sys_get_temp_dir() . '/_archivos_cambiados_detector_pruebas', espacio de nombres: getcwd() // normalizado al separador de directorios)// imprimir contenidos con reglas de sangría específicas->withSpacing(sangría: Option::INDENTATION_SPACES, lineEnding: PHP_EOL)// modificar ejecución paralela->withParallel(timeoutSeconds: 120, maxNumberOfProcess: 32, tamaño del trabajo: 20);
Los valores mencionados son los predeterminados.
¿Utiliza ECS en una variedad de proyectos? ¿Quieres ejecutarlos siempre de la misma manera en cada uno de esos proyectos? Hagamos uso de los scripts de Composer
Este comando agrega 2 scripts útiles a su composer.json
:
scripts proveedor/bin/ecs
Ejecútelos siempre de la misma manera: para verificar el código:
compositor check-cs
Para aplicar correcciones, ejecute:
arreglo del compositor-cs
Es posible que desee utilizar ECS para generar informes para herramientas de terceros.
Actualmente proporcionamos formateadores para:
console
: Impresión orientada al ser humano al estilo PHP CS Fixer.
json
: un blob JSON personalizado para herramientas arbitrarias.
junit
: formato JUnit que se utilizará en diferentes entornos de CI.
checkstyle
: útil para informes de acción de Github.
gitlab
: para informes de calidad de código de Gitlab o herramientas de Code Climate.
Para obtener información sobre cómo se comporta cada uno de estos, consulte sus respectivas implementaciones.
proveedor/bin/ecs --clear-cache
proveedor/bin/ecs lista-comprobadores
¿Buscas formato json?
proveedor/bin/ecs list-checkers --formato de salida json
¿Utilizas otra herramienta y quieres migrar? Es bastante sencillo: aquí se explica "cómo":
para PHP_CodeSniffer
y reparador de PHP CS.