Installer sur n'importe quel projet PHP 7.2-PHP 8.3 avec toutes les dépendances
Ultra-rapide avec un fonctionnement parallèle prêt à l'emploi
Utilisez PHP_CodeSniffer ou PHP-CS-Fixer - tout ce que vous voulez
Utilisez des ensembles préparés et des ensembles PHP CS Fixer pour gagner du temps
composer nécessite symplify/easy-coding-standard --dev
fournisseur/bin/ecs
Lors de la première exécution, ECS crée le fichier de configuration ecs.php
avec les répertoires et la première règle à lancer.
Ensuite, vous pouvez réexécuter pour voir les différences suggérées :
fournisseur/bin/ecs
Pour corriger réellement votre code , ajoutez --fix
:
vendeur/bin/ecs --fix
C'est ça!
La plupart du temps, vous serez satisfait de la configuration par défaut. La partie la plus pertinente consiste à configurer les chemins, les vérificateurs et les ensembles :
utiliser PhpCsFixerFixerArrayNotationArraySyntaxFixer; utiliser PhpCsFixerFixerListNotationListSyntaxFixer; utiliser SymplifyEasyCodingStandardConfigECSConfig; retourner ECSConfig::configure() ->withPaths([__DIR__ . '/src', __DIR__ . '/tests']) ->avecConfiguredRule( ArraySyntaxFixer :: classe, ['syntaxe' => 'long'] ) ->avecRègles([ ListSyntaxFixer :: classe, ]) ->withPreparedSets(psr12 : vrai);
Voulez-vous vérifier tous les fichiers *.php
de votre racine ( ecs.php
, rector.php
etc.) ? Au lieu de les lister un par un, utilisez la méthode ->withRootFiles()
:
utilisez SymplifyEasyCodingStandardConfigECSConfig; retournez ECSConfig::configure() ->withPaths([__DIR__ . '/src', __DIR__ . '/tests']) ->avecRootFiles();
Voulez-vous inclure l'un des 44 ensembles de php-cs-fixer ?
Tu peux:
utilisez SymplifyEasyCodingStandardConfigECSConfig; retournez ECSConfig::configure() ->withPaths([__DIR__ . '/src', __DIR__ . '/tests']) ->withPhpCsFixerSets(perCS20 : true, doctrineAnnotation : true);
Vous aimez les ensembles de règles, mais souhaitez ignorer une seule règle ou certains fichiers ?
utilisez SymplifyEasyCodingStandardConfigECSConfig; retournez ECSConfig::configure() ->withSkip([// ignorer une seule règleArraySyntaxFixer::class,// ignorer une seule règle dans des chemins spécifiquesArraySyntaxFixer::class => [__DIR__ . '/src/ValueObject/', ], // sauter le répertoire par absolu ou * mask__DIR__ . '/src/Migrations',// ignorer les répertoires par mask__DIR__ . '/src/*/Héritage', ]);
Vous ne les utiliserez probablement pas, mais ils peuvent vous donner plus de contrôle sur le processus interne :
utilisez SymplifyEasyCodingStandardConfigECSConfig; utilisez SymplifyEasyCodingStandardValueObjectOption; retournez ECSConfig::configure()// les extensions de fichiers à analyser->withFileExtensions(['php'])// configurez les chemins de cache et l'espace de noms - utile par exemple la mise en cache Gitlab CI, où getcwd() produit toujours différent chemin->withCache( répertoire : sys_get_temp_dir() . '/_changed_files_detector_tests', espace de noms : getcwd() // normalisé au séparateur de répertoire)// imprimer le contenu avec des règles d'indentation spécifiques->withSpacing(indentation : Option::INDENTATION_SPACES, lineEnding : PHP_EOL)// modifier l'exécution parallèle->withParallel(timeoutSeconds : 120, maxNumberOfProcess : 32, taille du travail : 20 );
Les valeurs mentionnées sont celles par défaut.
Utilisez-vous ECS pour une variété de projets ? Voulez-vous les exécuter toujours de la même manière dans chacun de ces projets ? Utilisons les scripts Composer
Cette commande ajoute 2 scripts pratiques à votre composer.json
:
scripts fournisseur/bin/ecs
Exécutez-les toujours de la même manière - pour vérifier le code :
compositeur check-cs
Pour appliquer des correctifs, exécutez :
compositeur fix-cs
Vous souhaiterez peut-être utiliser ECS pour générer des rapports pour des outils tiers.
Nous fournissons actuellement des formateurs pour :
console
: Impression orientée humain à la PHP CS Fixer.
json
: un blob JSON personnalisé pour des outils arbitraires.
junit
: format JUnit à utiliser dans différents environnements CI.
checkstyle
: utile pour les rapports d'action Github.
gitlab
: Pour les rapports sur la qualité du code Gitlab ou les outils Code Climate.
Pour plus d’informations sur le comportement de chacun d’eux, reportez-vous à leurs implémentations respectives.
vendeur/bin/ecs --clear-cache
vérificateurs de liste vendeur/bin/ecs
Recherchez-vous le format json ?
vendeur/bin/ecs list-checkers --output-format json
Vous utilisez un autre outil et souhaitez migrer ? C'est assez simple - voici "comment faire" :
pour PHP_CodeSniffer
et PHP CS Fixateur.