Attualmente sto lavorando al progetto di controllo standard di codifica Magento 2.
È disponibile un altro strumento, ad eccezione di PHP_CodeSniffer , per verificare che Magento 2 e la codifica PHP siano in piedi?
Attualmente sto lavorando al progetto di controllo standard di codifica Magento 2.
È disponibile un altro strumento, ad eccezione di PHP_CodeSniffer , per verificare che Magento 2 e la codifica PHP siano in piedi?
Risposte:
Magento 2 utilizza lo standard di codifica ECGM2
Puoi scaricare da qui
ECG Magento Code Sniffer Coding Standard è un insieme di regole e sniffer per lo strumento PHP_CodeSniffer .
Permette di controllare automaticamente il tuo codice rispetto ad alcuni dei comuni problemi di codifica Magento e PHP, come:
e molti altri.
Sono supportati sia Magento che Magento 2.
Magento 2 utilizza lo standard di codifica ECGM2:
Installa standard di codifica:
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
Se ricevi un errore:
Errore irreversibile di PHP: PHP_CodeSniffer_Exception non rilevato: lo sniff di riferimento "MEQP1.Exceptions.Namespace" non esiste
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 )
Prova la tua estensione M2:
Per correggere automaticamente gli errori utilizzare phpcbf:
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/Block/ --standard=MEQP2 --no-patch --extensions=php,phtml,xml,css,js
Per Visualizza file
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/view/frontend/templates --standard=MEQP2 --extensions=php,phtml
Per verificare errori / avvisi:
vendor/bin/phpcs <path-to-magento2>/app/code/Vendor/Module/Block/ --standard=MEQP2 --extensions=phtml,xml,css,js,php
Per Visualizza file
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/view/frontend/templates --standard=MEQP2 --extensions=php,phtml
Soluzione per alcuni avvisi disponibile qui:
Come correggere gli avvisi / errori generati dal rapporto di revisione tecnica del mercato Magento?
Revisione tecnica del marketplace:
vendor/bin/phpcs /path/to/your/extension --standard=MEQP2 --severity=10
Convalida estensione Magento 2:
Scarica "validate_m2_package.php" da https://gist.github.com/alankent/fcf280dd9c599921b71d#file-validate_m2_package_v2-php e mettilo alla radice di Magento:
cd <path-to-magento2>
php validate_m2_package.php Vendor_Module.zip
composer require magento/marketplace-eqp
risolverlo con questo composer config repositories.magento-eqp git https://github.com/magento/marketplace-eqp
. github.com/magento/marketplace-eqp/issues/2
Oltre alla risposta di Prince Patels ...
Magento 2 utilizza anche lo standard di codifica PSR-2 , quindi puoi anche eseguirlo phpcs --standard=PSR2 /path/to/module
. Per correggere gli "errori" PSR-2 puoi usare " Codice bellezza e riparatore codice PHP (phpcbf) "
Per me funziona molto bene ...
comandi:
phpcbf --standard=PSR2 ./app/
phpcs --report-gitblame=CS-blame --report-source=CS-code --report-full=CS-full ./app/
cat CS-* >> ECG-PSR2 ; rm CS-*
Se lo usi git
, puoi aggiungere un pre-commit
hook da eseguire phpcs
/ phpcbf
automaticamente prima di eseguire le modifiche.
Aggiornare:
Non in particolare per gli standard di codifica magento, ma le buone pratiche imho ...
phpcbf
con PSR2
e MEQP2
standardphpcs -s
con entrambi gli standardphpmd -s
phpstan -l 7
0.8.5
-s
l'opzione è quella di visualizzare il nome dell'annusatore ... forse usare ful se si desidera sopprimere gli avvisi
Per belle notizie suggerirei phpdox . Aggrega i dati da ...
phploc
phpcs
phpmd
phpunit
copertura del codiceEsempio (senza copertura del codice): http://phpdox.de/demo/PHPUnit/index.xhtml
Altri strumenti: