Saat ini saya sedang mengerjakan proyek pengecekan standar pengkodean Magento 2.
Apakah ada alat lain yang tersedia, selain PHP_CodeSniffer , untuk memeriksa status Magento 2 dan kode PHP?
Saat ini saya sedang mengerjakan proyek pengecekan standar pengkodean Magento 2.
Apakah ada alat lain yang tersedia, selain PHP_CodeSniffer , untuk memeriksa status Magento 2 dan kode PHP?
Jawaban:
Magento 2 menggunakan standar pengkodean ECGM2
Anda dapat mengunduh dari sini
ECG Magento Code Sniffer Coding Standard adalah seperangkat aturan dan hirupan untuk alat PHP_CodeSniffer .
Itu memungkinkan secara otomatis memeriksa kode Anda terhadap beberapa masalah pengkodean Magento dan PHP yang umum, seperti:
dan banyak lagi.
Baik Magento dan Magento 2 didukung.
Magento 2 menggunakan standar pengodean ECGM2:
Instal Coding Standard:
cd to/your/magento/install/directory
composer create-project --repository=https://repo.magento.com magento/marketplace-eqp magento-coding-standard
composer require magento/marketplace-eqp
cd magento-coding-standard
Jika Anda mendapatkan kesalahan:
PHP Fatal error: Uncaught PHP_CodeSniffer_Exception: Sniff yang direferensikan "MEQP1.Exceptions.Namespace" tidak ada
vendor/bin/phpcs --config-set installed_paths ../../..
vendor/bin/phpcs --config-set m2-path <path-to-magento2> ( for eg. sudo vendor/bin/phpcs --config-set m2-path /var/www/html/magento2 )
Uji ekstensi M2 Anda:
Untuk memperbaiki kesalahan secara otomatis, gunakan phpcbf:
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/Block/ --standard=MEQP2 --no-patch --extensions=php,phtml,xml,css,js
Untuk Lihat File
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/view/frontend/templates --standard=MEQP2 --extensions=php,phtml
Untuk Memeriksa Kesalahan / Peringatan:
vendor/bin/phpcs <path-to-magento2>/app/code/Vendor/Module/Block/ --standard=MEQP2 --extensions=phtml,xml,css,js,php
Untuk Lihat File
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/view/frontend/templates --standard=MEQP2 --extensions=php,phtml
Solusi untuk beberapa peringatan tersedia di sini:
Ulasan Teknis Marketplace:
vendor/bin/phpcs /path/to/your/extension --standard=MEQP2 --severity=10
Validasi ekstensi Magento 2:
Unduh "validate_m2_package.php" dari https://gist.github.com/alankent/fcf280dd9c599921b71d#file-validate_m2_package_v2-php dan letakkan di root magento:
cd <path-to-magento2>
php validate_m2_package.php Vendor_Module.zip
composer require magento/marketplace-eqp
memperbaikinya dengan ini composer config repositories.magento-eqp git https://github.com/magento/marketplace-eqp
. github.com/magento/marketplace-eqp/issues/2
Selain jawaban Pangeran Patels ...
Magento 2 juga menggunakan standar pengkodean PSR-2 , sehingga Anda juga dapat menjalankannya phpcs --standard=PSR2 /path/to/module
. Untuk memperbaiki "kesalahan" PSR-2 Anda dapat menggunakan " PHP Code Beautifier and Fixer (phpcbf) "
Bagi saya ini bekerja sangat baik ...
Perintah:
phpcbf --standard=PSR2 ./app/
phpcs --report-gitblame=CS-blame --report-source=CS-code --report-full=CS-full ./app/
cat CS-* >> ECG-PSR2 ; rm CS-*
Jika Anda menggunakan git
, Anda dapat menambahkan pre-commit
hook untuk menjalankan phpcs
/ phpcbf
secara otomatis sebelum melakukan perubahan Anda.
Memperbarui:
Tidak terutama untuk standar pengkodean magento, tetapi praktik yang baik ...
phpcbf
dengan PSR2
dan MEQP2
standarphpcs -s
dengan kedua standarphpmd -s
phpstan -l 7
0.8.5
-s
opsi adalah untuk menampilkan nama sniff ... mungkin menggunakan ful jika Anda ingin menekan peringatan
Untuk laporan yang bagus saya sarankan phpdox . Ini mengumpulkan data dari ...
phploc
phpcs
phpmd
phpunit
cakupan kodeContoh (tanpa cakupan kode): http://phpdox.de/demo/PHPUnit/index.xhtml
Alat lainnya: