현재 Magento 2 코딩 표준 검사 프로젝트를 진행 중입니다.
Magento 2 및 PHP 코딩 상태를 확인하기 위해 PHP_CodeSniffer 이외의 다른 도구를 사용할 수 있습니까?
현재 Magento 2 코딩 표준 검사 프로젝트를 진행 중입니다.
Magento 2 및 PHP 코딩 상태를 확인하기 위해 PHP_CodeSniffer 이외의 다른 도구를 사용할 수 있습니까?
답변:
마 젠토 2 사용 ECGM2 코딩 표준
여기에서 다운로드 할 수 있습니다
ECG 마 젠토 코드 스니퍼 코딩 표준은 PHP_CodeSniffer 도구에 대한 규칙 및 스 니프 세트입니다 .
다음과 같은 일반적인 Magento 및 PHP 코딩 문제에 대해 코드를 자동으로 확인할 수 있습니다.
그리고 많은 다른 사람들.
Magento와 Magento 2가 모두 지원됩니다.
마 젠토 2는 ECGM2 코딩 표준을 사용합니다 :
코딩 표준 설치 :
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 )
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 기술 검토 보고서에서 발생하는 경고 / 오류를 수정하는 방법은 무엇입니까?
마켓 플레이스 기술 검토 :
vendor/bin/phpcs /path/to/your/extension --standard=MEQP2 --severity=10
마 젠토 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
왕자 Patels 답변 이외에 ...
Magento 2 는 PSR-2 코딩 표준 도 사용 하므로을 실행할 수도 있습니다 phpcs --standard=PSR2 /path/to/module
. PSR-2 "오류"를 수정하기 위해 " PHP Code Beautifier and Fixer (phpcbf) "를 사용할 수 있습니다.
나를 위해 이것은 매우 잘 작동합니다 ...
명령 :
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
phpcs
phpcbf
최신 정보:
간결하게 마 젠토 코딩 표준에 적합하지는 않지만 좋은 연습 imho ...
phpcbf
함께 실행 PSR2
하고 MEQP2
표준phpcs -s
두 표준으로 실행phpmd -s
phpstan -l 7
0.8.5
-s
옵션은 스 니프 이름을 표시하는 것입니다 ... 경고를 억제하려면 ful을 사용하십시오.
좋은 보고서를 위해 phpdox을 제안 합니다 . 그것은 ...에서 데이터를 집계
phploc
phpcs
phpmd
phpunit
코드 범위샘플 (코드 범위 없음) : http://phpdox.de/demo/PHPUnit/index.xhtml
다른 도구들 :