phpcompatibility: alat yang berkuasa untuk memastikan keserasian projek php
Artikel ini memperkenalkan PHPCompatibility, alat yang berkuasa untuk memeriksa keserasian projek PHP dengan versi PHP yang berbeza. Sebagai lanjutan PHPC (PHP CodesNiffer), ia dapat mengesan ciri PHP yang sudah lapuk atau tidak disokong dalam kod anda, dengan itu meningkatkan kualiti dan kebolehpercayaan kod.
Kenapa anda memerlukan phpcompatibility?
Apabila projek berkembang, tidak dapat dielakkan untuk bergerak ke versi PHP yang berbeza. Kaedah ujian keserasian tradisional (seperti memasang versi PHP sasaran, berjalan untuk memeriksa kesilapan sintaks, dan lain-lain) adalah memakan masa dan intensif buruh dan terdedah kepada masalah yang tidak dijawab. PHPCCOMPATIBILITI menyediakan penyelesaian yang cekap dan mudah. php -l
phpcompatibility boleh dipasang melalui komposer. Pertama, pasang PHPC menggunakan komposer:
Kemudian, klon standard kod phpCompatiibility ke folder
composer require "squizlabs/php_codesniffer=2.*"
Standards
git clone https://github.com/wimg/PHPCompatibility.git <path_to_phpcs>/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/
./vendor/bin/phpcs -i
Pemeriksaan keserasian menggunakan phpCompatibility
PHPCCOMPATIBILITI Menyediakan pilihan baris arahan yang kaya untuk memudahkan penyesuaian pengguna proses pemeriksaan. Beberapa pilihan yang biasa digunakan termasuk:
: Hanya kesilapan yang dipaparkan, amaran diabaikan.
-i
: Periksa hanya direktori tempatan, bukan subdirektori rekursif. -l
: Tunjukkan kemajuan. -p
: Tentukan pelanjutan fail untuk memeriksa (contohnya <extensions>
php
: Tentukan corak fail atau folder untuk diabaikan (contohnya <patterns>
vendor/*
: Tentukan versi PHP untuk memeriksa. --runtime-set testVersion <version>
Perintah untuk melakukan pemeriksaan keserasian adalah seperti berikut: Perintah ini menggunakan piawaian phpCompatibility untuk memeriksa keserasian kod dalam direktori
dengan Php 7. Anda boleh menggunakan./vendor/bin/phpcs --standard=PHPCompatibility --runtime-set testVersion 7 <path_to_project>
. <path_to_project>
--report-full=<path>.txt
--ignore=<patterns>
Kes praktikal: phpmailer
Untuk menunjukkan aplikasi praktikal phpcompatibility, kami mengambil phpmailer sebagai contoh. Selepas mengkloning projek phpmailer dan memasang kebergantungan, jalankan arahan berikut untuk memeriksa keserasian fail :
class.phpmailer.php
Hasilnya akan menunjukkan isu keserasian fail dengan PHP 5.6.
./vendor/bin/phpcs --standard=PHPCompatibility --extensions=php --runtime-set testVersion 5.6 class.phpmailer.php
Ringkasan
PHPCompatibility adalah alat yang berkuasa untuk ujian keserasian versi PHP. Pilihan baris perintah yang fleksibel membolehkannya menyesuaikan diri dengan pelbagai projek dan keperluan.
FAQs (FAQs)
(bahagian FAQ asal dipelihara di sini dan pemformatan sedikit diselaraskan untuk memudahkan dibaca.)
PHPCCCOMPATIBILITI adalah satu set sniffers untuk codesniffer PHP yang memeriksa keserasian kod anda dengan versi PHP tertentu. Ia adalah penting kerana ia membolehkan pemaju untuk memastikan bahawa kod mereka bersesuaian dengan versi PHP yang mereka gunakan atau merancang untuk digunakan. Ini membantu mencegah masalah yang mungkin timbul disebabkan oleh penggunaan ciri -ciri PHP yang tidak disokong atau tidak disokong, dengan itu meningkatkan kualiti dan kebolehpercayaan keseluruhan kod anda.
PHPCCCOPATIBILITI boleh dipasang menggunakan komposer, yang merupakan alat pengurusan ketergantungan untuk PHP. Anda boleh memasangnya dengan menjalankan arahan composer require --dev phpcompatibility/php-compatibility
. Selepas pemasangan, anda boleh menambah piawaian phpCompatibility ke codesniffer PHP menggunakan arahan phpcs --config-set installed_paths /path/to/PHPCompatibility
.
Selepas memasang phpCompatibility, anda boleh menggunakannya untuk menyemak kod anda dengan menjalankan arahan phpcs -p . --standard=PHPCompatibility
. Perintah ini akan memeriksa semua fail PHP dalam direktori semasa dan subdirektori. Anda boleh menentukan versi PHP untuk memeriksa dengan menambah --runtime-set testVersion X.Y
ke arahan, di mana X.Y adalah versi PHP.
Pemeriksaan PHPCCCOMPATIBILITY untuk pelbagai isu keserasian yang berpotensi, termasuk fungsi yang tidak ditetapkan, fungsi yang dipadam, fungsi baru, fungsi yang berubah, arahan INI yang ditetapkan, arahan INI yang dipadamkan, arahan INI baru, pemalar yang ditetapkan, pemalar yang dipadam, pemalar baru, Struktur bahasa, struktur bahasa baru, dll.
Ya, PHPCCCOPATIBILITI boleh menyemak keserasian dengan pelbagai versi PHP. Anda boleh menentukan versi PHP untuk memeriksa dengan menambah --runtime-set testVersion X.Y-Z.A
ke arahan, di mana X.Y adalah versi PHP minimum dan Z.A adalah versi PHP maksimum.
Ya, sesetengah sniffers boleh dikecualikan apabila menggunakan phpcompatibility. Anda boleh melakukan ini dengan menambah --exclude=sniff1,sniff2,sniff3
ke arahan, di mana sniff1, sniff2, sniff3 adalah sniffers yang akan dikecualikan.
PHPCCOMPATIBILITI hanya melaporkan isu keserasian yang berpotensi dan tidak akan membetulkannya. Untuk membetulkan isu -isu ini, anda perlu mengemas kini kod anda secara manual untuk menggunakan fungsi PHP yang betul. Anda boleh menggunakan manual PHP dan sumber dalam talian yang lain untuk mengetahui penggunaan ciri PHP yang betul.
Ya, phpcompatibility boleh digunakan dengan piawaian kod PHP yang lain. Anda boleh menentukan pelbagai piawaian dengan menambahkan --standard=standard1,standard2,standard3
ke arahan, di mana Standard1, Standard2, dan Standard3 adalah piawaian yang akan digunakan.
Ya, phpcompatibility boleh digunakan dalam persekitaran CI. Anda boleh menambah perintah Semak PHPCompatibility ke fail konfigurasi CI anda untuk memeriksa secara automatik isu keserasian untuk kod anda setiap kali anda menolak perubahan ke repositori.
Ya, phpcompatibility secara aktif mengekalkan dan mengemas kini. Kakitangan penyelenggaraan kerap menambah sniffers baru untuk ciri -ciri dan perubahan PHP baru untuk memastikan bahawa phpcompatiibility tetap selaras dengan versi PHP terkini.
Atas ialah kandungan terperinci Intro cepat: PHPCCOMPLIBILITI UNTUK PHPCS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!