Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie PHP-CS-Fixer zur Codestilprüfung in PHP

So verwenden Sie PHP-CS-Fixer zur Codestilprüfung in PHP

WBOY
WBOYOriginal
2023-06-27 13:27:212073Durchsuche

Während des Entwicklungsprozesses ist ein guter Codierungsstil ein wichtiger Faktor für die Verbesserung der Codequalität und Lesbarkeit. Da PHP heute eine der am weitesten verbreiteten Programmiersprachen auf dem Markt ist, ist auch die Überprüfung des Codestils von PHP besonders wichtig. Hier stellen wir ein PHP-Codestil-Überprüfungstool PHP-CS-Fixer vor und erklären im Detail, wie man eine Codestilüberprüfung daran durchführt.

Zuerst müssen wir verstehen, was PHP-CS-Fixer ist. PHP-CS-Fixer ist ein vom Symfony-Framework erstelltes Tool zur Überprüfung des PHP-Codestils. Mit diesem Tool können wir die Konsistenz und den hochwertigen Codierungsstil von PHP-Projekten problemlos aufrechterhalten und so die Lesbarkeit und Wartbarkeit des Codes verbessern.

Also, wie verwende ich PHP-CS-Fixer zur Codestilprüfung? Im Folgenden sind die detaillierten Schritte aufgeführt:

Schritt 1: PHP-CS-Fixer installieren

Zuerst müssen wir PHP-CS-Fixer mit Composer installieren. Composer ist der beliebteste Abhängigkeitsmanager für PHP und kann zum Installieren und Verwalten von PHP-Abhängigkeiten verwendet werden.

Führen Sie den folgenden Befehl in der Befehlszeile aus, um PHP-CS-Fixer zu installieren:

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

Schritt 2: Erstellen Sie eine PHP-CS-Fixer-Konfigurationsdatei

Als nächstes müssen wir eine PHP-CS-Fixer-Konfigurationsdatei erstellen. In dieser Konfigurationsdatei werden Details wie Redewendungen, Einrückungen, Leerzeichen, Zeilenumbrüche usw. sowie die zu befolgenden Regeln usw. festgelegt. Regeln können je nach individuellen oder Teamanforderungen geändert oder hinzugefügt werden.

Erstellen Sie die Datei „.php_cs“ im Projektstammverzeichnis und fügen Sie den folgenden Code hinein:

<?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);

Die obige Konfiguration enthält eine Reihe von Regeln, wie zum Beispiel:

  • Verwenden Sie die PSR-2-Codestilspezifikation
  • Die nutzlose Verwendung von Leerzeichen ist verboten.
  • verbietet die Verwendung mehrerer Namespaces in einer einzelnen Datei.
  • verbietet die Verwendung zusätzlicher Kommas bei der Array-Initialisierung usw.

Diese Regeln können je nach persönlichen Vorlieben geändert werden. In diesem Beispiel verwenden wir einige vom Symfony-Framework empfohlene Regeln.

Schritt 3: PHP-CS-Fixer ausführen

Schließlich können wir PHP-CS-Fixer verwenden, um unseren PHP-Code zu überprüfen. Geben Sie einfach den folgenden Befehl in die Befehlszeile ein:

vendor/bin/php-cs-fixer fix

Dieser Befehl findet alle PHP-Dateien im gesamten Projekt und ändert das darin verwendete falsche Codeformat. Natürlich kann dieser Befehl auch einige Parameter annehmen, um den Codestil gemäß den angegebenen Regeln zu überprüfen, zum Beispiel:

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

Der obige Befehl überprüft den PSR-2-Stil des Codes im Ordner „src“.

Zusammenfassung:

PHP-CS-Fixer ist ein sehr praktisches Tool zur Überprüfung des PHP-Codestils, das Programmierern dabei helfen kann, die Konsistenz und Lesbarkeit des Projektcodes aufrechtzuerhalten. Mit den oben vorgestellten Schritten können wir mit PHP-CS-Fixer ganz einfach eine Codestilprüfung durchführen und so die Qualität des Codes verbessern.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie PHP-CS-Fixer zur Codestilprüfung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn