Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan PHP-CS-Fixer untuk semakan gaya kod dalam PHP

Cara menggunakan PHP-CS-Fixer untuk semakan gaya kod dalam PHP

WBOY
WBOYasal
2023-06-27 13:27:212073semak imbas

Semasa proses pembangunan, gaya pengekodan yang baik merupakan faktor penting dalam meningkatkan kualiti dan kebolehbacaan kod. Sebagai salah satu bahasa pengaturcaraan yang paling banyak digunakan di pasaran hari ini, pemeriksaan gaya kod PHP juga amat penting. Di sini, kami akan memperkenalkan alat semakan gaya kod PHP-PHP-CS-Fixer, dan menerangkan secara terperinci cara melakukan semakan gaya kod padanya.

Pertama, kita perlu memahami apa itu PHP-CS-Fixer. PHP-CS-Fixer ialah alat semakan gaya kod PHP yang dicipta oleh rangka kerja Symfony. Melalui alat ini, kami boleh mengekalkan konsistensi dan gaya pengekodan berkualiti tinggi projek PHP dengan mudah, dengan itu meningkatkan kebolehbacaan dan kebolehselenggaraan kod.

Jadi, bagaimana untuk menggunakan PHP-CS-Fixer untuk semakan gaya kod? Berikut adalah langkah terperinci:

Langkah 1: Pasang PHP-CS-Fixer

Mula-mula, kita perlu memasang PHP-CS-Fixer menggunakan Composer. Komposer ialah pengurus kebergantungan yang paling popular untuk PHP dan boleh digunakan untuk memasang dan mengurus kebergantungan PHP.

Jalankan arahan berikut dalam baris arahan untuk memasang PHP-CS-Fixer:

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

Langkah 2: Buat fail konfigurasi PHP-CS-Fixer

Seterusnya, kita perlu mencipta fail konfigurasi PHP-CS-Fixer. Fail konfigurasi ini akan menentukan butiran seperti simpulan bahasa, lekukan, ruang, baris baharu, dsb., serta peraturan yang perlu dipatuhi, dsb. Peraturan boleh diubah suai atau ditambah berdasarkan keperluan individu atau pasukan.

Buat fail ".php_cs" dalam direktori akar projek dan tampal kod berikut ke dalamnya:

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

Konfigurasi di atas mengandungi satu siri peraturan, seperti:

  • Gunakan spesifikasi gaya kod PSR-2; Penggunaan yang tidak berguna adalah ruang yang dilarang;
  • melarang berbilang ruang nama dalam satu fail
  • melarang penggunaan koma berlebihan dalam permulaan tatasusunan, dsb.
  • Peraturan ini boleh diubah suai mengikut keutamaan peribadi. Dalam contoh ini, kami menggunakan beberapa peraturan yang disyorkan oleh rangka kerja Symfony.

Langkah 3: Jalankan PHP-CS-Fixer

Akhir sekali, kami boleh menggunakan PHP-CS-Fixer untuk menyemak kod PHP kami. Hanya masukkan arahan berikut pada baris arahan:

vendor/bin/php-cs-fixer fix

Arahan ini akan mencari semua fail PHP dalam keseluruhan projek dan mengubah suai format kod yang tidak betul yang digunakan di dalamnya. Sudah tentu, arahan ini juga boleh mengambil beberapa parameter untuk menyemak gaya kod mengikut peraturan yang ditetapkan, contohnya:

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

Arahan di atas akan menyemak gaya PSR-2 kod dalam folder "src".

Ringkasan:

PHP-CS-Fixer ialah alat semakan gaya kod PHP yang sangat praktikal, yang boleh membantu pengaturcara mengekalkan ketekalan dan kebolehbacaan kod projek. Menggunakan langkah-langkah yang diperkenalkan di atas, kami boleh menggunakan PHP-CS-Fixer dengan mudah untuk semakan gaya kod untuk meningkatkan kualiti kod.

Atas ialah kandungan terperinci Cara menggunakan PHP-CS-Fixer untuk semakan gaya kod dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn