Maison  >  Article  >  développement back-end  >  Comment utiliser PHP-CS-Fixer pour la vérification du style de code en PHP

Comment utiliser PHP-CS-Fixer pour la vérification du style de code en PHP

WBOY
WBOYoriginal
2023-06-27 13:27:212075parcourir

Pendant le processus de développement, un bon style de codage est un facteur important pour améliorer la qualité et la lisibilité du code. En tant que l'un des langages de programmation les plus utilisés sur le marché aujourd'hui, l'inspection du style de code de PHP est également particulièrement importante. Ici, nous présenterons un outil de vérification de style de code PHP-PHP-CS-Fixer et expliquerons en détail comment effectuer une vérification de style de code dessus.

Tout d’abord, nous devons comprendre ce qu’est PHP-CS-Fixer. PHP-CS-Fixer est un outil de vérification de style de code PHP créé par le framework Symfony. Grâce à cet outil, nous pouvons facilement maintenir la cohérence et le style de codage de haute qualité des projets PHP, améliorant ainsi la lisibilité et la maintenabilité du code.

Alors, comment utiliser PHP-CS-Fixer pour vérifier le style de code ? Voici les étapes détaillées :

Étape 1 : Installer PHP-CS-Fixer

Tout d'abord, nous devons installer PHP-CS-Fixer à l'aide de Composer. Composer est le gestionnaire de dépendances PHP le plus populaire et peut être utilisé pour installer et gérer les dépendances PHP.

Exécutez la commande suivante dans la ligne de commande pour installer PHP-CS-Fixer :

composer require --dev friendsofphp/php-cs-fixer

Étape 2 : Créer un fichier de configuration PHP-CS-Fixer

Ensuite, nous devons créer un fichier de configuration PHP-CS-Fixer. Ce fichier de configuration spécifiera des détails tels que les expressions idiomatiques, l'indentation, les espaces, les nouvelles lignes, etc., ainsi que les règles à suivre, etc. Les règles peuvent être modifiées ou ajoutées en fonction des besoins individuels ou de l'équipe.

Créez le fichier ".php_cs" dans le répertoire racine du projet et collez-y le code suivant :

<?php

$finder = SymfonyComponentFinderFinder::create()
    ->exclude('vendor')
    ->exclude('node_modules')
    ->exclude('storage')
    ->exclude('public')
    ->in(__DIR__)
    ->name('*.php')
    ->notName('*.blade.php')
    ->ignoreDotFiles(true)
    ->ignoreVCS(true);

return SymfonyCSConfigConfig::create()
    ->level(SymfonyCSFixerInterface::PSR2_LEVEL)
    ->fixers([
        'array_syntax' => ['syntax' => 'short'],
        'blank_line_after_opening_tag',
        'braces',
        'cast_spaces',
        'class_definition',
        'concat_without_spaces',
        'declare_equal_normalize',
        'function_call_space',
        'function_declaration',
        'indentation',
        'line_after_namespace',
        'linefeed',
        'lowercase_constants',
        'lowercase_keywords',
        'method_argument_space',
        'native_function_casing',
        'new_with_braces',
        'no_blank_lines_after_class_opening',
        'no_empty_phpdoc',
        'no_empty_statement',
        'no_extra_blank_lines',
        'no_leading_import_slash',
        'no_leading_namespace_whitespace',
        'no_mixed_echo_print',
        'no_multiline_whitespace_before_semicolons',
        'no_short_bool_cast',
        'no_spaces_after_function_name',
        'no_spaces_inside_parenthesis',
        'no_trailing_comma_in_list_call',
        'no_trailing_comma_in_singleline_array',
        'no_trailing_whitespace',
        'no_trailing_whitespace_in_comment',
        'no_unneeded_control_parentheses',
        'no_unused_imports',
        'no_whitespace_before_comma_in_array',
        'no_whitespace_in_blank_line',
        'normalize_index_brace',
        'object_operator', 
        'operators_spaces',
        'php_closing_tag',
        'phpdoc_align',
        'phpdoc_no_access',
        'phpdoc_no_empty_return',
        'phpdoc_no_package',
        'phpdoc_scalar',
        'phpdoc_single_line_var_spacing',
        'phpdoc_summary',
        'phpdoc_to_comment',
        'phpdoc_trim',
        'phpdoc_type_to_var',
        'phpdoc_var_without_name',
        'remove_leading_slash_use',
        'remove_lines_between_uses',
        'return',
        'self_accessor',
        'short_array_syntax',
        'single_array_no_trailing_comma',
        'single_blank_line_before_namespace',
        'single_quote',
        'spaces_before_semicolon',
        'spaces_cast',
        'standardize_not_equals',
        'ternary_spaces',
        'trim_array_spaces',
        'unalign_double_arrow',
        'unalign_equals',
        'unary_operators_spaces',
        'unused_use',
    ])
    ->finder($finder);

La configuration ci-dessus contient une série de règles, telles que :

  • Utilisez la spécification de style de code PSR-2
  •  ; L'utilisation inutile des espaces est interdite ;
  • interdit plusieurs espaces de noms dans un seul fichier ;
  • interdit l'utilisation de virgules redondantes dans l'initialisation du tableau, etc.

Ces règles peuvent être modifiées selon les préférences personnelles. Dans cet exemple, nous utilisons certaines règles recommandées par le framework Symfony.

Étape 3 : Exécutez PHP-CS-Fixer

Enfin, nous pouvons utiliser PHP-CS-Fixer pour vérifier notre code PHP. Entrez simplement la commande suivante sur la ligne de commande :

vendor/bin/php-cs-fixer fix

Cette commande trouvera tous les fichiers PHP de l'ensemble du projet et modifiera le format de code incorrect utilisé dans ceux-ci. Bien entendu, cette commande peut également prendre certains paramètres pour vérifier le style du code selon les règles spécifiées, par exemple :

vendor/bin/php-cs-fixer fix src/ --rules=@PSR2

La commande ci-dessus vérifiera le style PSR-2 du code dans le dossier "src".

Résumé :

PHP-CS-Fixer est un outil de vérification de style de code PHP très pratique, qui peut aider les programmeurs à maintenir la cohérence et la lisibilité du code du projet. En utilisant les étapes présentées ci-dessus, nous pouvons facilement utiliser PHP-CS-Fixer pour effectuer une vérification du style de code, améliorant ainsi la qualité du code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn