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=10Xá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.zipcomposer require magento/marketplace-eqpsử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/ phpcbftự độ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 ...
phpcbfvới PSR2và MEQP2tiêu chuẩnphpcs -svới cả hai tiêu chuẩnphpmd -sphpstan -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ừ ...
phplocphpcsphpmdphpunit 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: