Tất cả các công cụ có sẵn để kiểm tra tiêu chuẩn mã hóa Magento 2 là gì?


Câu trả lời:


9

Magento 2 sử dụng chuẩn mã hóa ECGM2

Bạn có thể tải về từ đây

https://github.com/magento-ecg/coding-st Chuẩn

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ư:

  1. truy vấn SQL thô; Các truy vấn SQL bên trong một vòng lặp;
  2. khởi tạo trực tiếp các lớp Mage và Enterprise;
  3. tải bộ sưu tập không cần thiết;
  4. độ phức tạp mã quá mức;
  5. sử dụng các chức năng nguy hiểm; sử dụng các Superglobals PHP;

và nhiều người khác.

  1. Ecg cho Magento
  2. EcgM2 cho Magento 2

Cả Magento và Magento 2 đều được hỗ trợ.


Công cụ này là để mở rộng cho toàn bộ kiểm tra mã Magento 2?
Rama Chandran M

Bạn có thể kiểm tra mô-đun Magento 2 bằng lệnh này sau khi cài đặt ECGM2 "phpcs --st Chuẩn = EcgM2 / path / to / module"
Prince Patel

Chắc chắn Patel. Bất kỳ công cụ khác có sẵn cho xin vui lòng thêm trong ý kiến.
Rama Chandran M

Tôi có biết xác nhận W3C cần xác thực mã Magento 2 không?
Rama Chandran M

Xác thực W3C dành cho Trình bày trang web Magento, Không dành cho tiêu chuẩn mã hóa. Magento chỉ sử dụng ECG cho cả Magento 1 và 2 để kiểm tra tiêu chuẩn mã hóa mở rộng.
Hoàng tử Patel

12

Magento 2 sử dụng tiêu chuẩn mã hóa ECGM2:

  1. 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 )
  2. 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:

    Làm cách nào để khắc phục các cảnh báo / lỗi được nêu trong báo cáo đánh giá kỹ thuật của Magento Marketplace?

  3. Đánh giá kỹ thuật thị trường:

    vendor/bin/phpcs /path/to/your/extension --standard=MEQP2 --severity=10
  4. 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

Trước khi chạy composer 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
tối nghĩa

8

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 ...

  • tự động sửa lỗi PSR2
  • tạo báo cáo
  • hợp nhất các báo cáo thành một tệp

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 ...

  • chạy phpcbfvới PSR2MEQP2tiêu chuẩn
  • chạy phpcs -svới cả hai tiêu chuẩn
  • chạy phpmd -s
  • chạy phpstan -l 7
    • đối với magento 2.2 bạn phải sử dụng phiên bản 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ểm
  • nhật ký git
  • ...

Mẫu (bảo hiểm mã w / o): http://phpdox.de/demo/PHPUnit/index.xhtml

Các công cụ khác:


Cảm ơn @ sv3n. Bất kỳ công cụ để kiểm tra bảo mật?
Rama Chandran M

1
Trong hai mươi phút tôi không có công cụ. Tôi nghĩ rằng tuân theo các tiêu chuẩn mã hóa (tránh các truy vấn thô và vân vân) là bước đầu tiên tốt.
sv3n

2

Để xác thực các lỗ hổng của ứng dụng M2, chúng ta có thể sử dụng:

ZAP(Zed Attack Proxy).
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.