Tôi hiện đang làm việc trong dự án kiểm tra tiêu chuẩn mã hóa Magento 2.
Có bất kỳ công cụ nào khác có sẵn, ngoài PHP_CodeSniffer , để kiểm tra trạng thái mã hóa Magento 2 và PHP không?
Tôi hiện đang làm việc trong dự án kiểm tra tiêu chuẩn mã hóa Magento 2.
Có bất kỳ công cụ nào khác có sẵn, ngoài PHP_CodeSniffer , để kiểm tra trạng thái mã hóa Magento 2 và PHP không?
Câu trả lời:
Magento 2 sử dụng chuẩn mã hóa ECGM2
Bạn có thể tải về từ đây
ECG Magento Code Sniffer Coding Standard là một bộ quy tắc và đánh hơi cho công cụ PHP_CodeSniffer .
Nó cho phép tự động kiểm tra mã của bạn đối với một số vấn đề mã hóa Magento và PHP phổ biến, như:
và nhiều người khác.
Cả Magento và Magento 2 đều được hỗ trợ.
Magento 2 sử dụng tiêu chuẩn mã hóa ECGM2:
Cài đặt tiêu chuẩn mã hóa:
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
Nếu bạn gặp lỗi:
Lỗi nghiêm trọng về PHP: Uncaught PHP_CodeSniffer_Exception: Sniff tham chiếu "MEQP1.Exceptions.Namespace" không tồn tại
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 )
Kiểm tra tiện ích mở rộng M2 của bạn:
Để tự động sửa lỗi, sử dụng phpcbf:
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/Block/ --standard=MEQP2 --no-patch --extensions=php,phtml,xml,css,js
Để xem tập tin
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/view/frontend/templates --standard=MEQP2 --extensions=php,phtml
Để kiểm tra lỗi / cảnh báo:
vendor/bin/phpcs <path-to-magento2>/app/code/Vendor/Module/Block/ --standard=MEQP2 --extensions=phtml,xml,css,js,php
Để xem tập tin
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/view/frontend/templates --standard=MEQP2 --extensions=php,phtml
Giải pháp cho một số cảnh báo có sẵn ở đây:
Đánh giá kỹ thuật thị trường:
vendor/bin/phpcs /path/to/your/extension --standard=MEQP2 --severity=10
Xác thực tiện ích mở rộng Magento 2:
Tải xuống "validate_m2_package.php" từ https://gist.github.com/alankent/fcf280dd9c599921b71d#file-validate_m2_package_v2-php và đặt nó vào thư mục gốc của magento:
cd <path-to-magento2>
php validate_m2_package.php Vendor_Module.zip
composer require magento/marketplace-eqp
sửa nó với cái này composer config repositories.magento-eqp git https://github.com/magento/marketplace-eqp
. github.com/magento/marketplace-eqp/issues/2
Ngoài câu trả lời của Hoàng tử Patels ...
Magento 2 cũng sử dụng chuẩn mã hóa PSR-2 , vì vậy bạn cũng có thể chạy phpcs --standard=PSR2 /path/to/module
. Để sửa lỗi "PSR-2", bạn có thể sử dụng " Trình làm đẹp và sửa lỗi mã PHP (phpcbf) "
Đối với tôi điều này hoạt động rất tốt ...
Các lệnh:
phpcbf --standard=PSR2 ./app/
phpcs --report-gitblame=CS-blame --report-source=CS-code --report-full=CS-full ./app/
cat CS-* >> ECG-PSR2 ; rm CS-*
Nếu bạn sử dụng git
, bạn có thể thêm một pre-commit
móc để chạy phpcs
/ phpcbf
tự động trước khi cam kết thay đổi của bạn.
Cập nhật:
Không đặc biệt cho các tiêu chuẩn mã hóa magento, nhưng imho thực hành tốt ...
phpcbf
với PSR2
và MEQP2
tiêu chuẩnphpcs -s
với cả hai tiêu chuẩnphpmd -s
phpstan -l 7
0.8.5
-s
tùy chọn là hiển thị tên sniff ... có thể sử dụng Ful nếu bạn muốn thay thế cảnh báo
Đối với các báo cáo tốt đẹp, tôi đề nghị phpdox . Nó tổng hợp dữ liệu từ ...
phploc
phpcs
phpmd
phpunit
mã số bảo hiểmMẫu (bảo hiểm mã w / o): http://phpdox.de/demo/PHPUnit/index.xhtml
Các công cụ khác: