Jadual Kandungan
php-cs-fixer - Alat pemformatan pengekodan PHP
Pemasangan dan kemas kini
psr0 [PSR-0]
Rumah pembangunan bahagian belakang tutorial php Tidakkah anda tahu cara menggunakan alat pengekodan dan pemformatan php-cs-fixer ini?

Tidakkah anda tahu cara menggunakan alat pengekodan dan pemformatan php-cs-fixer ini?

Sep 14, 2021 pm 03:31 PM
php

php-cs-fixer - Alat pemformatan pengekodan PHP

php-cs-fixer ialah alat pemformatan kod Piawaian pemformatan ialah PSR-1, PSR-2 dan beberapa piawaian . Alat ini juga berasal dari keluarga yang sama seperti symfony, twig dan perpustakaan PHP lain yang sangat baik.

Pemasangan dan kemas kini

Memerlukan PHP 5.3.6 ke atas.

Anda boleh memuat turun terus pakej phar encapsulated: php-cs-fixer.phar; >

Atau muat turun melalui curl:

wget http://get.sensiolabs.org/php-cs-fixer.phar -O php-cs-fixer
Salin selepas log masuk
Selepas muat turun selesai, berikan kebenaran boleh laku, dan kemudian pindah ke direktori bin:

curl http://get.sensiolabs.org/php-cs-fixer.phar -o php-cs-fixer
Salin selepas log masuk
Itu sahaja Gunakan

perintah terus untuk memanggilnya di mana-mana sahaja.

sudo chmod a+x php-cs-fixer
sudo mv php-cs-fixer /usr/local/bin/php-cs-fixer
Salin selepas log masuk
Anda juga boleh menggunakan Composer untuk memasang:

php-cs-fixer

Jika anda pengguna Mac, pengguna homebrew dan telah merakam homebrew/php, anda juga boleh terus:

composer global require fabpot/php-cs-fixer
Salin selepas log masuk
Atau:

brew install php-cs-fixer
Salin selepas log masuk
Jika anda perlu mengemas kini kemudian:

brew install homebrew/php/php-cs-fixer
Salin selepas log masuk
Jika dipasang melalui homebrew:

php-cs-fixer self-update
Salin selepas log masuk
Jika tiada fail boleh laku Letakkannya dalam direktori bin atau gunakan

bukannya

dalam Windows.
brew upgrade php-cs-fixer
Salin selepas log masuk

Penggunaanphp php-cs-fixer.pharphp-cs-fixer juga sangat mudah digunakan Parameter arahan yang paling asas ialah

Apabila dilaksanakan secara langsung, sebanyak mungkin kod akan diformat mengikut piawaian lalai:

digunakan untuk memaparkan peraturan yang digunakan Format lalai ialah teks (fix). Pilihan

# 格式化目录 如果是当前目录的话可以省略目录
php-cs-fixer fix /path/to/dir
# 格式化文件
php-cs-fixer.phar fix /path/to/file
Salin selepas log masuk

digunakan untuk mengawal tahap peraturan yang perlu digunakan: --verbosetxt

Secara lalai, semua pilihan PSR-2 dan beberapa pilihan tambahan (terutamanya berkaitan symfony ) dilaksanakan). Terdapat juga beberapa pilihan yang tergolong dalam "tahap sumbangan". Anda boleh menambahkannya secara terpilih melalui

Berbilang syarat --level hendaklah dipisahkan dengan koma:

php-cs-fixer fix /path/to/project --level=psr0
php-cs-fixer fix /path/to/project --level=psr1
php-cs-fixer fix /path/to/project --level=psr2
php-cs-fixer fix /path/to/project --level=symfony
Salin selepas log masuk

juga boleh digunakan jika. perlu --fixers Gunakan senarai hitam untuk menetapkan pilihan yang dilumpuhkan. Jika kedua-dua --fixers dan

ditetapkan, yang pertama mempunyai keutamaan yang lebih tinggi.
php-cs-fixer fix /path/to/dir --fixers=linefeed,short_tag,indentation
Salin selepas log masuk

Menggunakan arahan -name_of_fixer dan --fixers secara serentak boleh memaparkan ringkasan yang perlu diubah suai, tetapi sebenarnya tidak mengubahnya. -name_of_fixer

Anda juga boleh menyemak kandungan yang akan diubah suai melalui kaedah berikut, tetapi fail sebenarnya tidak akan ditukar:

--dry-run--diffKonfigurasi tersuai

pilihan tersedia Digunakan untuk menetapkan direktori dan fail terpilih untuk analisis dan pemformatan, tetapi pilihan ini hanya boleh menetapkan beberapa projek yang biasa diketahui, seperti symfony:
cat foo.php | php-cs-fixer fix --diff -
Salin selepas log masuk

Pilihan sedia ada:

--config

# For the Symfony 2.3+ branch
php-cs-fixer fix /path/to/sf23 --config=sf23
Salin selepas log masuk
konfigurasi lalai lalai

  • projek magento magento

  • projek symfony sf23

  • Lebih kerap , kami boleh menyesuaikan pilihan pemformatan dan mencari direktori dan fail melalui fail konfigurasi. Konfigurasi tersuai dicapai dengan menambahkan fail

    dalam direktori akar projek.

  • Tetapan itu sendiri ialah kod PHP, dan akhirnya mengembalikan contoh SymfonyCSConfigInterface. Anda boleh menetapkan pilihan pemformatan, tahap, fail dan direktori.

Berikut ialah contoh mudah: .php_cs

Jika anda ingin menyesuaikan sepenuhnya pilihan pemformatan, anda perlu mengosongkan tahap pemformatan dan menentukan semua pilihan yang diperlukan:

Anda juga boleh melumpuhkan pilihan tertentu dengan menambahkan
<?php

$finder = Symfony\CS\Finder\DefaultFinder::create()
    ->exclude('somedir') // 忽略 somedir
    ->in(__DIR__) // 当前目录
;

return Symfony\CS\Config\Config::create()
    ->fixers(['strict_param', 'short_array_syntax']) // 添加两个选项
    ->finder($finder)
;
Salin selepas log masuk
di hadapan pilihan Contohnya, contoh berikut tidak menggunakan PSR-0:

<?php

$finder = Symfony\CS\Finder\DefaultFinder::create()
    ->in(__DIR__)
;

return Symfony\CS\Config\Config::create()
    ->level(Symfony\CS\FixerInterface::NONE_LEVEL)
    ->fixers(['trailing_spaces', 'encoding'])
    ->finder($finder)
;
Salin selepas log masuk
Format di bawah keadaan lalai Tahap. pengoptimuman ialah symfony (yang paling ketat Anda boleh mengubah suai tahap ini:

-

Melalui gabungan pilihan tetapan ini, anda boleh menyesuaikan kesan yang anda inginkan dengan mudah.
<?php

$finder = Symfony\CS\Finder\DefaultFinder::create()
    ->exclude('somedir')
    ->in(__DIR__)
;

return Symfony\CS\Config\Config::create()
    ->fixers(['-psr0'])
    ->finder($finder)
;
Salin selepas log masuk

Anda juga boleh menentukan lokasi fail

melalui pilihan
<?php

return Symfony\CS\Config\Config::create()
    ->level(Symfony\CS\FixerInterface::PSR2_LEVEL)
;
Salin selepas log masuk
.

Mendayakan caching boleh mempercepatkan pelaksanaan berikutnya melalui kaedah berikut:

--config-file.php_csPemalam editor

Pemalam editor/IDE berikut boleh membantu. Anda memudahkan kerja pemformatan:

<?php

return Symfony\CS\Config\Config::create()
    ->setUsingCache(true)
;
Salin selepas log masuk

Atom

  • NetBeans

  • PhpStorm

  • Teks Luhur

  • Vim

  • Pilihan Pemformatan

psr0 [PSR-0]

    Piawaian laluan dan ruang nama untuk PSR-0



  • pengekodan [PSR-1 ]

  • Fail mesti dikodkan UTF-8 tanpa BOM;



  • short_tag [PSR-1]

  • Hanya dua Tag kod PHP,
  • dan

    , boleh digunakan
    <?php ?><?= ?>

    pendakap [PSR-2]

  • Semua blok pernyataan mesti disertakan dalam pendakap kerinting, dan kedudukan serta lekukan adalah standard; Hanya terdapat satu ruang antara kelas, sifat, kata kunci antara muka dan nama;
  • bukannya

    ;


  • eof_ending [PSR-2]
  • Fail mesti berakhir dengan garisan Kosong ;

  • function_call_space [PSR-2]
    Apabila memanggil fungsi dan kaedah, tidak boleh ada ruang antara nama fungsi dan nama kaedah serta pengembangan parameter

  • function_declaration [PSR-2]
    Penggunaan ruang semasa mengisytiharkan fungsi perlu mematuhi PSR-2; 🎜>

  • lekukan [PSR-2]
  • Kod mesti menggunakan empat ruang untuk lekukan dan bukannya tab; 🎜>line_after_namespace [PSR-2]

    Mesti ada baris kosong selepas pengisytiharan ruang nama; 🎜>linefeed [PSR-2]

    Semua fail PHP hanya boleh menggunakan penghujung LF (Unix); -2 ]
  • Pemalar PHP benar, palsu dan nol mestilah huruf kecil




    kata kunci_huruf kecil [PSR-2]
  • Kata kunci PHP semuanya mestilah huruf kecil;




    method_argument_space [PSR-2]
  • Apabila kaedah diisytiharkan dan dipanggil , parameter Tidak boleh ada ruang sebelum koma, dan mesti ada ruang selepas koma




    multiple_use [PSR-2]
  • Setiap penggunaan hanya boleh mengisytiharkan satu elemen;




    kurungan [PSR-2]
  • Tidak boleh ada ruang pada kedua-dua belah kurungan; ;




    single_line_after_imports [PSR-2]
  • Setiap pernyataan penggunaan berada pada baris yang berasingan, dan mesti ada baris kosong selepas blok pernyataan penggunaan;




    trailing_spaces [PSR-2]
  • Padamkan ruang tambahan selepas baris bukan kosong; >




    keterlihatan [PSR-2]

  • Setiap sifat dan kaedah mesti menyatakan sama ada skopnya ialah
  • ,

    atau , dan
    mesti diletakkan Sebelum kata kunci skop, ?> mestilah selepas skop

  • array_element_no_space_before_comma [ symfony]
    Dalam pengisytiharan tatasusunan, Tidak boleh ada ruang sebelum koma;
    Dalam pengisytiharan tatasusunan, mesti ada ruang selepas koma;

  • blankline_after_open_tag [symfony]

    Tidak boleh menjadi kod pada baris yang sama pada teg permulaan PHP, dan mesti ada baris kosong di bawah; 🎜> Tidak boleh ada ruang tambahan di sebelah kiri dan kanan penyambung titik;
    Tidak boleh terdapat berbilang baris kosong pada kedua-dua hujung operator; ;


  • empty_return [symfony]publicprotected Jika pernyataan return tidak mengembalikan apa-apa, tulis sahaja return (tanpa return null); privateabstractfinalstatic

    extra_empty_lines [symfony]
  • Alih keluar baris kosong tambahan; >

    function_typehint_space [symfony]
    Betulkan ruang yang hilang antara parameter fungsi dan pembayang jenis Masalah; Perlu ada ruang antara

  • serta [symfony]

    dan laluan fail, tetapi bukan laluan fail yang dikelilingi oleh kurungan

  • join_function [symfony]
    Gunakan
    untuk menggantikan fungsi


  • list_commas [ symfony]

    Padamkan koma tambahan dalam penyataan


  • method_argument_default_value [symfony]=>

  • new_with_braces [symfony]
    Gunakan baharu untuk mencipta baharu Contoh hendaklah diikuti dengan tanda kurung; >

  • tiada_baris_kosong_selepas_pembukaan_kelas [symfony] Seharusnya tiada baris kosong selepas teg permulaan kelas;


    no_empty_lines_after_phpdocs [symfony]
  • Seharusnya tiada baris kosong di bawah elemen permulaan blok dokumentasi PHP




    object_operator [symfony]
  • () Seharusnya tiada ruang di kedua-dua hujungnya;

  • ruang_pengendali [symfony]
    Operator binari mempunyai sekurang-kurangnya satu ruang di kedua-dua hujungnya; >
    phpdoc_indent [symfony]

    phpdoc harus kekal indent;


  • phpdoc_inline_tag [symfony]

  • dan

    tidak sepatutnya muncul dalam phpdoc dalam


  • phpdoc_no_package [symfony]
  • dan tidak sepatutnya muncul dalam phpdoc;
    , @access,
    dan
    dsb. phpdoc Tag mesti dijajarkan secara menegak;

  • pengisytiharan jenis skalar phpdoc hendaklah menggunakan
  • bukannya

    , bukannya ,
    bukannya @return void atau @return null; 🎜>

  • phpdoc_separation [symfony]
  • sifat dengan komen yang sama dalam phpdoc harus disatukan, dan sifat yang berbeza harus dipisahkan oleh garis kosong;
    @package@subpackage
    phpdoc_short_description [symfony]

    Penerangan ringkas phpdoc hendaklah berakhir dengan
  • ,
  • atau

    ; >
    @param@throws@return phpdoc_to_comment [symfony]@var@type Semua blok dokumen mestilah elemen berstruktur; 🎜>

    phpdoc_trim [symfony]

  • Kecuali pada permulaan dan penghujung blok dokumentasi, phpdoc harus mempunyai kandungan pada awal dan akhir; >
  • phpdoc_type_to_var [symfony]
    int perlu diganti dengan integerboolbooleanfloatrealdouble;
    phpdoc_types [symfony]

    hendaklah betul dalam phpdoc Gunakan huruf besar dan kecil


  • phpdoc_var_without_name [symfony]

  • dan
  • ulasan tidak seharusnya mengandungi nama berubah; Penggunaan

    atau tidak boleh digunakan;
    .!?

    print_to_echo [symfony]

  • Jika boleh, gunakan
  • bukannya pernyataan

    ;


  • remove_leading_slash_use [symfony]
  • Alih keluar baris kosong sebelum ;


  • remove_lines_between_uses [symfony]

    Alih keluar baris kosong dalam blok pernyataan
    @type@var

  • kembali [symfony]
  • ; self_accessor [symfony]

    Gunakan Gantikan nama kelas; short_bool_cast [symfony]

  • Dua tanda seru tidak boleh digunakan sebelum jenis data;

  • @var@typesingle_array_no_trailing_comma] Harus ada baris kosong sebelum pengisytiharan ruang nama; bukannya petikan berganda;

  • ruang_selepas_koma bertitik [symfony]
    Betulkan ruang selepas koma bertitik i--i

  • ruang_sebelum_koma bertitik [symfony]

    Lumpuhkan hanya ruang satu baris dan pemisah Cara menulis nombor;
    echospaces_cast [symfony]print
    Perlu ada ruang antara pembolehubah dan pengubah suai; 🎜>standardkan_tidak_sama [symfony]

    Gunakan
  • dan bukannya
  • ;

    Normalkan ruang antara operator ternary;
    use

    trim_array_spaces [ symfony]
  • Tatasusunan perlu diformatkan serupa dengan fungsi/ parameter kaedah, tanpa garisan kosong di atas dan di bawah;

  • unary_operators_spaces [symfony]
    Unary operator dan operand perlu bersebelahan; 🎜>unneeded_control_parentheses [symfony]

    Alih keluar kurungan berlebihan dalam pernyataan struktur kawalan; > Padamkan pernyataan penggunaan yang tidak digunakan;


  • whitespacy_lines [symfony]

    Padamkan ruang tambahan dalam baris kosong;

  • Selain pilihan di atas, terdapat juga beberapa pilihan sumbangan pengguna, yang tidak akan diperkenalkan satu persatu di sini.
  • Setiap orang dan setiap pasukan mungkin mempunyai pendapat mereka sendiri sama ada gaya pengekodan harus disatukan dan piawaian yang perlu dilaksanakan. Ini hanyalah pengenalan kepada alat ini Mengenai cara memilihnya, terpulang kepada anda. Jika ia adalah projek sumber terbuka, anda juga boleh mencuba StyleCI. Pembelajaran yang disyorkan: "
    Tutorial Video PHP
    "

Atas ialah kandungan terperinci Tidakkah anda tahu cara menggunakan alat pengekodan dan pemformatan php-cs-fixer ini?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini 7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini Nov 13, 2024 am 09:42 AM

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Apr 05, 2025 am 12:04 AM

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

Program PHP untuk mengira vokal dalam rentetan Program PHP untuk mengira vokal dalam rentetan Feb 07, 2025 pm 12:12 PM

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Terangkan pengikatan statik lewat dalam php (statik: :). Terangkan pengikatan statik lewat dalam php (statik: :). Apr 03, 2025 am 12:04 AM

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apr 03, 2025 am 12:03 AM

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.

See all articles