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.