Rumah > Artikel > pembangunan bahagian belakang > Apakah PHP_CodeSniffer? Bagaimana untuk memasang dan menggunakan?
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 .
PHP_CodeSniffer mempunyai beberapa kaedah pemasangan.
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
.
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:
.phar
ini ke dalam direktori yang sepadan, dan kemudian jalankan php phpcs.phar xxx
arahan baris dalam direktori itu
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
.
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
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.
Di atas kita lihat bahawa PHP_CodeSniffer mempunyai dua arahan.
Secara lalai, PHP_CodeSniffer menggunakan spesifikasi PEAR untuk memeriksa kod.
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 # 检查文件和目录
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
可以使用 -- 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
$ 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!