Magento 2 कोडिंग मानक की जाँच के लिए सभी उपकरण उपलब्ध हैं?


14

मैं वर्तमान में Magento 2 कोडिंग मानक जाँच परियोजना पर काम कर रहा हूँ।

क्या Magento 2 और PHP कोडिंग की जाँच के लिए PHP_CodeSniffer के अलावा कोई अन्य टूल उपलब्ध है ?

जवाबों:


9

Magento 2 ECGM2 कोडिंग मानक का उपयोग करते हैं

आप यहाँ से डाउनलोड कर सकते हैं

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

ईसीजी मैगनेटो कोड स्निफर कोडिंग मानक PHP_CodeSniffer टूल के लिए नियमों और सूँघों का एक समूह है ।

यह कुछ सामान्य Magento और PHP कोडिंग मुद्दों के खिलाफ स्वचालित रूप से आपके कोड की जांच करने की अनुमति देता है, जैसे:

  1. कच्चे एसक्यूएल प्रश्न; एक लूप के अंदर एसक्यूएल प्रश्न;
  2. दाना और उद्यम वर्गों की प्रत्यक्ष तात्कालिकता;
  3. अनावश्यक संग्रह लोड हो रहा है;
  4. अत्यधिक कोड जटिलता;
  5. खतरनाक कार्यों का उपयोग; PHP सुपरग्लोबल्स का उपयोग;

और बहुत सारे।

  1. Magento के लिए Ecg
  2. Magento 2 के लिए EcgM2

Magento और Magento 2 दोनों समर्थित हैं।


यह उपकरण संपूर्ण Magento 2 कोड की जांच के लिए विस्तार के लिए है?
राम चंद्रन एम

आप ECGM2 इंस्टॉलेशन "phpcs --standard = EcgM2 / पाथ / टू / मॉड्यूल" के बाद इस कमांड द्वारा Magento 2 मॉड्यूल की जांच कर सकते हैं
प्रिंस पटेल

ज़रूर पटेल कृपया टिप्पणियों में जोड़ने के लिए कोई अन्य उपकरण उपलब्ध है।
राम चंद्रन एम

क्या मुझे पता है कि Mag3 2 कोड सत्यापन के लिए W3C सत्यापन की आवश्यकता होगी?
राम चन्द्रन M

W3C सत्यापन मैगेंटो वेब पेज प्रस्तुति के लिए है, न कि मानक कोडिंग के लिए। Magento एक्सटेंशन कोडिंग मानक की जाँच के लिए Magento 1 और 2 दोनों के लिए केवल ECG का उपयोग करता है।
राजकुमार पटेल

12

Magento 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 घातक त्रुटि: अनकैप्ड PHP_CodeSniffer_Exception: संदर्भित स्निफ "MEQP1.Exception.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

    यहां उपलब्ध कुछ चेतावनियों के लिए समाधान:

    मैगेंटो मार्केटप्लेस तकनीकी समीक्षा रिपोर्ट द्वारा उठाए गए चेतावनियों / त्रुटियों को कैसे ठीक करें?

  3. बाज़ार की तकनीकी समीक्षा:

    vendor/bin/phpcs /path/to/your/extension --standard=MEQP2 --severity=10
  4. मान्य Magento 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-eqpgithub.com/magento/marketplace-eqp/issues/2
अस्पष्ट

8

प्रिंस पटेल के अलावा जवाब ...

Magento 2 भी PSR-2 कोडिंग मानक का उपयोग करता है , इसलिए आप भी चला सकते हैं phpcs --standard=PSR2 /path/to/module। PSR-2 "त्रुटियों" को ठीक करने के लिए आप " PHP कोड ब्यूटीफायर और फिक्सर (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 हुक चलाने के लिए phpcs/ phpcbfस्वचालित रूप से आपके परिवर्तन करने से पहले।


अपडेट करें:

Magento कोडिंग मानकों के लिए अलौकिक रूप से नहीं, लेकिन अच्छा अभ्यास imho ...

  • और मानक के phpcbfसाथ चलाएंPSR2MEQP2
  • phpcs -sदोनों मानकों के साथ दौड़ें
  • Daud phpmd -s
  • Daud phpstan -l 7
    • Magento 2.2 के लिए आपको संस्करण का उपयोग करना होगा 0.8.5

-s विकल्प सूंघने का नाम प्रदर्शित करना है ... हो सकता है कि अगर आप चेतावनी देना चाहते हैं तो फुल का उपयोग करें

अच्छी रिपोर्ट के लिए मैं phpdox का सुझाव दूंगा । यह डेटा एकत्र करता है ...

  • phploc
  • phpcs
  • phpmd
  • phpunit कोड कवरेज़
  • गिट लॉग
  • ...

नमूना (w / o कोड कवरेज): http://phpdox.de/demo/PHPUnit/index.mhtml

अन्य उपकरण:


धन्यवाद @ sv3n सुरक्षा के लिए कोई उपकरण?
राम चंद्रन M

1
सेकंड के लिए मेरे पास कोई टूल नहीं है। मुझे लगता है कि कोडिंग मानकों (कच्चे प्रश्नों और इतने पर से बचें) का पालन करना एक अच्छा कदम है।
sv3n

2

M2 आवेदन की कमजोरियों को मान्य करने के लिए, हम उपयोग कर सकते हैं:

ZAP(Zed Attack Proxy).
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.