Magento 2 kodlama standardını kontrol etmek için kullanılabilecek tüm araçlar nelerdir?


Yanıtlar:


9

Magento 2, ECGM2 kodlama standardını kullanır

Buradan indirebilirsiniz

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

EKG Magento Kod Sniffer Kodlama Standardı, PHP_CodeSniffer aracı için bir dizi kural ve burnudur .

Kodunuzu aşağıdaki gibi yaygın Magento ve PHP kodlama sorunlarına karşı otomatik olarak kontrol etmenizi sağlar:

  1. ham SQL sorguları; Bir döngü içindeki SQL sorguları;
  2. Mage ve Enterprise sınıflarının doğrudan somutlaştırılması;
  3. gereksiz koleksiyon yükleme;
  4. aşırı kod karmaşıklığı;
  5. tehlikeli fonksiyonların kullanımı; PHP Superglobals kullanımı;

Ve bircok digerleri.

  1. Magento için ekg
  2. Magento 2 için EcgM2

Hem Magento hem de Magento 2 desteklenmektedir.


Bu araç tüm Magento 2 kod kontrolü için uzatma içindir?
Rama Chandran M

ECGM2 kurulumundan sonra Magento 2 modülünü bu komutla kontrol edebilirsiniz "phpcs --standard = EcgM2 / path / to / module"
Prens Patel

Tabii Patel. Kullanabileceğiniz diğer araçlar lütfen yorum ekleyin.
Rama Chandran M

Magento 2 kod doğrulaması için W3C doğrulama ihtiyacını bilecek miyim?
Rama Chandran M

W3C doğrulaması Magento Web Sayfası Sunumu içindir, kodlama standardı için değildir. Magento, uzatma kodlama standardını kontrol etmek için hem Magento 1 hem de 2 için sadece EKG kullanır.
Prens Patel

12

Magento 2, ECGM2 kodlama standardını kullanır:

  1. Kodlama Standardını yükleyin:

    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

    Hata alırsanız:

    PHP Önemli hata: Yakalanmayan PHP_CodeSniffer_Exception: Başvurulan sniff "MEQP1.Exceptions.Namespace" mevcut değil

    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 uzantınızı test edin:

    Hataları otomatik olarak düzeltmek için phpcbf'yi kullanın:

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

    Görüntüleme Dosyası İçin

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

    Hata / Uyarıları Kontrol Etmek İçin:

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

    Görüntüleme Dosyası İçin

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

    Burada bulunan bazı uyarılar için çözüm:

    Magento Marketplace teknik inceleme raporunda ortaya çıkan uyarıları / hataları nasıl düzeltebilirim?

  3. Pazar Teknik İnceleme:

    vendor/bin/phpcs /path/to/your/extension --standard=MEQP2 --severity=10
  4. Magento 2 uzantısını doğrulayın:

    Https://gist.github.com/alankent/fcf280dd9c599921b71d#file-validate_m2_package_v2-php adresinden "validate_m2_package.php" dosyasını indirin ve macenta kökü üzerine yerleştirin:

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

Çalıştırmadan önce composer require magento/marketplace-eqpbunu düzeltin composer config repositories.magento-eqp git https://github.com/magento/marketplace-eqp. github.com/magento/marketplace-eqp/issues/2
karanlıkta

8

Prens Patels cevabına ek olarak ...

Magento 2 ayrıca PSR-2 kodlama standardını kullanır , böylece çalıştırabilirsiniz phpcs --standard=PSR2 /path/to/module. PSR-2 "hatalarını" düzeltmek için " PHP Code Beautifier and Fixer (phpcbf) " kullanabilirsiniz.

Benim için bu çok iyi çalışıyor ...

  • PSR2 hatasını otomatik olarak düzelt
  • rapor oluştur
  • raporları tek bir dosyada birleştir

Komutlar:

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

Eğer kullanırsanız git, bir ekleyebilir pre-commit kanca pistine phpcs/ phpcbfdeğişikliklerinizi otomatik olarak uygulanıyor önce.


Güncelleme:

Özellikle magento kodlama standartları için değil, ama iyi uygulama imho ...

  • çalıştırmak phpcbfile PSR2ve MEQP2standart
  • phpcs -sher iki standartta da koş
  • Çalıştırmak phpmd -s
  • Çalıştırmak phpstan -l 7
    • magento 2.2 için sürümü kullanmalısınız 0.8.5

-s seçeneği koklama adını göstermektir ... uyarıları bastırmak istiyorsanız ful kullanın

Güzel raporlar için phpdox öneririm . Bu verileri toplar ...

  • phploc
  • phpcs
  • phpmd
  • phpunit kod kapsamı
  • git günlüğü
  • ...

Örnek (kod kapsamı olmadan): http://phpdox.de/demo/PHPUnit/index.xhtml

Diğer Aletler:


Teşekkürler @ sv3n. Çek güvenliği için herhangi bir araç var mı?
Rama Chandran M

1
Güvenlik için aletim yok. Bence kodlama standartlarına uymak (ham sorgulardan kaçınmak vb.) İlk iyi bir adımdır.
sv3n

2

M2 uygulamasının güvenlik açıklarını doğrulamak için şunları kullanabiliriz:

ZAP(Zed Attack Proxy).
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.