Magento 2 코딩 표준을 확인하는 데 사용할 수있는 모든 도구는 무엇입니까?


답변:


9

마 젠토 2 사용 ECGM2 코딩 표준

여기에서 다운로드 할 수 있습니다

https://github.com/magento-ecg/coding-standard

ECG 마 젠토 코드 스니퍼 코딩 표준은 PHP_CodeSniffer 도구에 대한 규칙 및 스 니프 세트입니다 .

다음과 같은 일반적인 Magento 및 PHP 코딩 문제에 대해 코드를 자동으로 확인할 수 있습니다.

  1. 원시 SQL 쿼리; 루프 내부의 SQL 쿼리;
  2. Mage 및 Enterprise 클래스의 직접 인스턴스화;
  3. 불필요한 컬렉션 로딩;
  4. 과도한 코드 복잡성;
  5. 위험한 기능의 사용; PHP 슈퍼 글로벌 사용;

그리고 많은 다른 사람들.

  1. 마 젠토를위한 심전도
  2. 마 젠토 2 용 EcgM2

Magento와 Magento 2가 모두 지원됩니다.


이 도구는 전체 Magento 2 코드 확인을위한 확장 프로그램입니까?
Rama Chandran M

ECGM2 설치 후 "phpcs --standard = EcgM2 / path / to / module"
Prince Patel

물론 Patel. 사용 가능한 다른 도구는 의견을 추가하십시오.
라마 찬드 란 M

Magento 2 코드 유효성 검사에 W3C 유효성 검사가 필요하다는 것을 알고 있습니까?
Rama Chandran M

W3C 유효성 검사는 코딩 표준이 아닌 Magento 웹 페이지 프레젠테이션 용입니다. Magento는 확장 코딩 표준을 확인하기 위해 Magento 1과 2 모두에 대해 ECG 만 사용합니다.
Prince Patel

12

마 젠토 2는 ECGM2 코딩 표준을 사용합니다 :

  1. 코딩 표준 설치 :

    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

    오류가 발생하면 :

    PHP 치명적 오류 : catch되지 않은 PHP_CodeSniffer_Exception : 참조 된 스 니프 "MEQP1.Exceptions.Namespace"가 없습니다.

    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. M2 확장을 테스트하십시오.

    오류를 자동으로 수정하려면 phpcbf를 사용하십시오.

    vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/Block/ --standard=MEQP2 --no-patch --extensions=php,phtml,xml,css,js

    파일보기

    vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/view/frontend/templates --standard=MEQP2 --extensions=php,phtml 

    오류 / 경고를 확인하려면 :

    vendor/bin/phpcs <path-to-magento2>/app/code/Vendor/Module/Block/ --standard=MEQP2 --extensions=phtml,xml,css,js,php

    파일보기

    vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/view/frontend/templates --standard=MEQP2 --extensions=php,phtml

    일부 경고에 대한 해결책은 다음과 같습니다.

    Magento Marketplace 기술 검토 보고서에서 발생하는 경고 / 오류를 수정하는 방법은 무엇입니까?

  3. 마켓 플레이스 기술 검토 :

    vendor/bin/phpcs /path/to/your/extension --standard=MEQP2 --severity=10
  4. 마 젠토 2 확장 확인 :

    https://gist.github.com/alankent/fcf280dd9c599921b71d#file-validate_m2_package_v2-php 에서 "validate_m2_package.php"를 다운로드 하여 magento의 루트에 넣으십시오.

    cd <path-to-magento2>
    php validate_m2_package.php Vendor_Module.zip

실행하기 전에 composer require magento/marketplace-eqp이것을 수정하십시오 composer config repositories.magento-eqp git https://github.com/magento/marketplace-eqp. github.com/magento/marketplace-eqp/issues/2
불분명

8

왕자 Patels 답변 이외에 ...

Magento 2 는 PSR-2 코딩 표준 도 사용 하므로을 실행할 수도 있습니다 phpcs --standard=PSR2 /path/to/module. PSR-2 "오류"를 수정하기 위해 " PHP Code Beautifier and Fixer (phpcbf) "를 사용할 수 있습니다.

나를 위해 이것은 매우 잘 작동합니다 ...

  • PSR2 오류를 자동으로 수정
  • 보고서 작성
  • 보고서를 하나의 파일로 병합

명령 :

phpcbf --standard=PSR2 ./app/
phpcs --report-gitblame=CS-blame --report-source=CS-code --report-full=CS-full ./app/
cat CS-* >> ECG-PSR2 ; rm CS-*

을 사용하는 경우 변경 사항을 커밋하기 전에 실행 / 자동으로 후크git추가 할 수 있습니다 .pre-commit phpcsphpcbf


최신 정보:

간결하게 마 젠토 코딩 표준에 적합하지는 않지만 좋은 연습 imho ...

  • phpcbf함께 실행 PSR2하고 MEQP2표준
  • phpcs -s두 표준으로 실행
  • 운영 phpmd -s
  • 운영 phpstan -l 7
    • magento 2.2의 경우 버전을 사용해야합니다 0.8.5

-s 옵션은 스 니프 이름을 표시하는 것입니다 ... 경고를 억제하려면 ful을 사용하십시오.

좋은 보고서를 위해 phpdox을 제안 합니다 . 그것은 ...에서 데이터를 집계

  • phploc
  • phpcs
  • phpmd
  • phpunit 코드 범위
  • 자식 로그
  • ...

샘플 (코드 범위 없음) : http://phpdox.de/demo/PHPUnit/index.xhtml

다른 도구들 :


감사합니다 @ sv3n. 보안 검사 도구가 있습니까?
라마 찬드 란 M

1
안전을 위해 나는 도구가 없습니다. 코딩 표준을 따르는 것 (원시 쿼리 등을 피하는 것)이 첫 번째 좋은 단계라고 생각합니다.
sv3n

2

M2 애플리케이션의 취약성을 검증하기 위해 다음을 사용할 수 있습니다.

ZAP(Zed Attack Proxy).
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.