Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah PHP_CodeSniffer? Bagaimana untuk memasang dan menggunakan?

Apakah PHP_CodeSniffer? Bagaimana untuk memasang dan menggunakan?

藏色散人
藏色散人ke hadapan
2022-01-11 16:16:404636semak imbas

Artikel ini memperkenalkan PHP_CodeSniffer kepada anda, serta tutorial pemasangan dan penggunaannya. Ia mempunyai nilai rujukan tertentu Rakan-rakan yang memerlukan boleh merujuk kepadanya.

PHP_CodeSniffer ialah alat semakan spesifikasi kod PHP automatik.

CodeSniffer mempunyai beberapa set spesifikasi kod terbina dalam termasuk MySource, PEAR, PHPCS, PSR1, PSR2, Squiz dan Zend.

Sudah tentu, anda juga boleh menambah spesifikasi kod anda sendiri .

PHP_CodeSniffer mengandungi dua alatan, phpcs digunakan untuk menyemak spesifikasi kod , phpcbf ialah menggunakan Come untuk membetulkan spesifikasi kod .

1 Pemasangan

PHP_CodeSniffer mempunyai beberapa kaedah pemasangan.

1.1 Pemasangan melalui fail boleh laku

Gunakan arahan git untuk memuat turun (atau memuat turun terus) kod sumber gudang, dan kemudian laksanakan terus:

git clone https://github.com/squizlabs/PHP_CodeSniffer.git
cd PHP_CodeSniffer
php bin/phpcs -h
php bin/phpcbf -h

Kepada Jika anda menggunakan versi bukan terkini, anda boleh memuat turunnya daripada PEAR di alamat: http://pear.php.net/package/PHP_CodeSniffer/download

Sebagai contoh, untuk gunakan 2.9.1, selepas memuat turun PEAR dan menyahmampatnya, arahan untuk dilaksanakan ialah :

php scripts/phpcs -h
php scripts/phpcbf -h

Berbeza daripada muat turun githuh, fail boleh laku berada dalam direktori scripts.

Kaedah pemasangan fail 1.2 phar

phar juga merupakan arkib php, yang membungkus fail php ke dalam satu fail untuk perkhidmatan.

Sistem Linux menggunakan arahan untuk memuat turun fail phar:

curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar
curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar

Sistem Windows menggunakan penyemak imbas untuk mengakses dua pautan di atas dan memuat turun dua fail phar.

Kemudian laksanakan dalam direktori fail phar:

php phpcs.phar -h
php phpcbf.phar -h

Anda boleh melihat maklumat bantuan phpcs dan phpcbf, menunjukkan bahawa pemasangan berjaya.

Nota:

  • Kaedah ini mesti memastikan bahawa fail boleh laku php telah ditambahkan pada persekitaran PATH, jika tidak, direktori mutlak mesti ditentukan
  • Setiap kali anda melaksanakan, anda mesti meletakkan dua fail .phar ini ke dalam direktori yang sepadan, dan kemudian jalankan php phpcs.phar xxx arahan baris dalam direktori itu

kaedah pemasangan 1.3 pear

Jika pear dipasang secara setempat (kaedah pemasangan pear), anda juga boleh memasangnya melalui pear PHP_CodeSniffer, arahan:

pear install PHP_CodeSniffer

Selepas pemasangan melalui pear, fail spesifikasi CodeSniffer akan dipasang di: /path/to/pear/PHP/CodeSniffer/src/Standards.

1.4 kaedah pemasangan komposer

Pemasangan komposer juga sangat mudah, satu arahan:

composer global require "squizlabs/php_codesniffer=*"

Arahan: Perintah composer yang diperlukan sudah ada dalam pembolehubah persekitaran PATH.

juga boleh digunakan dalam fail composer.json:

{
    "require-dev": {
        "squizlabs/php_codesniffer": "3.*"
    }
}

Laksanakan arahan selepas selesai:

./vendor/bin/phpcs -h
./vendor/bin/phpcbf -h

1.5 Konfigurasikan phpcs secara langsung dalam Laksanakan

dalam baris arahan Selain kaedah pemasangan pear, jika anda ingin melaksanakan perintah phpcs dengan cara lain, anda perlu menambah php di hadapan.

Jika ia disediakan oleh Linux, kerana laluan fail pelaksanaan php sudah berada dalam persekitaran PATH, jadi tambah laluan bin (atau scripts) ke PATH dan anda boleh laksanakan phpcs di terminal Dipesan.

Tetapi dalam sistem Windows, fail phpcs.bat sebenarnya dilaksanakan dan fail ini merujuk fail phpcs dalam direktori yang sama.

Dalam phpcs.bat, kita perlu mengkonfigurasi dua pembolehubah untuk melaksanakan perintah phpcs dalam CMD dengan betul.

adalah seperti berikut, anda perlu menentukan lokasi mutlak fail php.exe dan phpcs:

if "%PHPBIN%" == "" set PHPBIN=D:\php56n\php.exe
if not exist "%PHPBIN%" if "%PHP_PEAR_PHP_BIN%" neq "" goto USE_PEAR_PATH
GOTO RUN
:USE_PEAR_PATH
set PHPBIN=%PHP_PEAR_PHP_BIN%
:RUN
"%PHPBIN%" "D:\www\PHP_CodeSniffer-2.9.1\scripts\phpcs" %*

Kemudian tambah laluan D:wwwPHP_CodeSniffer-2.9.1skrip ke PATH , anda boleh menggunakan CMD Execute phpcs dalam .

Nota: phpcbf juga memerlukan pengubahsuaian sedemikian.

2 Menggunakan

Di atas kita lihat bahawa PHP_CodeSniffer mempunyai dua arahan.

Secara lalai, PHP_CodeSniffer menggunakan spesifikasi PEAR untuk memeriksa kod.

2.1 Gunakan arahan

Arahan berikut menggunakan spesifikasi lalai untuk menyemak fail dan direktori.

$ phpcs /path/to/code/myfile.php                        # 检查文件
$ phpcs /path/to/code                                   # 检查目录和子目录下的所有文件
$ phpcs -l /path/to/code                                # 检查目录下的所有文件,不包括子目录
$ phpcs /path/to/code/myfile.inc /path/to/code/my_dir   # 检查文件和目录

2.2 Semak keputusan

Secara lalai, hasil semakan mengandungi ralat dan amaran, seperti berikut:

$ phpcs /path/to/code/myfile.php

FILE: /path/to/code/myfile.php
--------------------------------------------------------------------------------
FOUND 5 ERROR(S) AND 1 WARNING(S) AFFECTING 5 LINE(S)
--------------------------------------------------------------------------------
  2 | ERROR   | Missing file doc comment
 20 | ERROR   | PHP keywords must be lowercase; expected "false" but found
    |         | "FALSE"
 47 | ERROR   | Line not indented correctly; expected 4 spaces but found 1
 47 | WARNING | Equals sign not aligned with surrounding assignments
 51 | ERROR   | Missing function doc comment
 88 | ERROR   | Line not indented correctly; expected 9 spaces but found 6
--------------------------------------------------------------------------------

如果不要显示警告,加个-n参数:

$ phpcs -n /path/to/code/myfile.php

仅显示检查结果概要:

$ phpcs --report=summary /path/to/code

2.3 指定规范

可以使用 -- standard参数指定一个或多个规范来检查。

$ phpcs --standard=PEAR /path/to/code/myfile.inc                      # 使用内置规范
$ phpcs --standard=/path/to/MyStandard /path/to/code/myfile.inc       # 使用指定路径下的规范
$ phpcs --standard=PEAR,PHPCS,/path/to/MyStandard file.php            # 使用多个规范

$ phpcs --config-set default_standard Squiz                           # 修改默认规范为Squiz(原本是PEAR)

查看现有规范:

$ phpcs -i

2.4 查看帮助

$ phpcs -h

推荐学习:《PHP视频教程

Atas ialah kandungan terperinci Apakah PHP_CodeSniffer? Bagaimana untuk memasang dan menggunakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:awaimai.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam