අභිරුචි දිගුවක් ලියන්නේ කෙසේද?


144

නිදහස් හා වාණිජමය දිගුවක් සම්බන්ධයෙන් මට මෑතකදී ගැටලු රාශියක් තිබූ හෙයින්, මෙම ප්‍රශ්නය ඇසීමටත්, දිගුවක් ලිවීමේදී මම සාමාන්‍යයෙන් අනුගමනය කරන පියවර සමඟ පිළිතුරු දීමටත් තීරණය කළෙමි. පිළිතුර සංස්කරණය කිරීමට හෝ නව එකක් එක් කිරීමට නිදහස් වන්න.
බොහෝ අවස්ථාවන්හීදී දිගුවක් හෝ තේමාවක් ස්ථාපනය කිරීමේදී මට අවශ්‍ය සියලු පරිසරයන් මත ක්‍රියා කිරීමට පැය කිහිපයක් (සමහර විට වැඩි, සමහර විට අඩු) වැය කිරීමට සිදුවේ:

  • dev: සාමාන්‍යයෙන් localhostව්‍යාපෘතිය උප ෆෝල්ඩරයක ඇති තැන
  • preprod & live

විශාල ව්‍යාප්ති සැපයුම්කරුවන්ගේ දීර් with කිරීම් සමඟ පවා මෙය සිදුවී ඇත (අවම වශයෙන් මා ඇත්තටම පිස්සු වැටී ඔවුන්ගේ නම් මෙහි ඇතුළත් කරන තුරු එය නම් රහිතව පැවතිය යුතුය )
එබැවින් ප්‍රධාන ප්‍රශ්නය වන්නේ ගුණාත්මකභාවය සහතික කිරීම සඳහා දිගුවක් ලිවීමේදී මා සලකා බැලිය යුතු පියවර මොනවාද? කේතය සහ තාක්ෂණික හා තාක්‍ෂණික නොවන පුද්ගලයෙකුට එය භාවිතා කිරීම පහසු කරවන අතර කාර්මික පුද්ගලයෙකුට එය වෙනස් කිරීම?


12
විශාල ව්‍යාප්ති සැපයුම්කරුවෙකු මෙම ප්‍රශ්නයට අකමැති වූ අතර එය පහත් කොට සැලකූ බව පෙනේ. :)
මාරියස්

1
පුද්ගලිකව, නියත වශයෙන්ම වයොමින්ඩ් සමඟ කිසිදු ගැටළුවක් නැත, නමුත් ඔවුන් ඔවුන්ගේ කේතය සංකේතනය කර තවමත් "වාරික හවුල්කරුවන්" වේ :( (උදාහරණයක් ලෙස)
sv3n

Answers:


188

මෙන්න මම සාමාන්‍යයෙන් කරන්නේ:

  1. සැමවිටම සමඟ සංවර්ධනය කරන්න error_reporting.
  2. සෑම විටම isDeveloperModeසකසා ඇති පරිදි සංවර්ධනය කරන්න true. SetEnv MAGE_IS_DEVELOPER_MODE 1ඔබගේ httpd.confගොනුවට එක් කරන්න (හෝ Nginx සඳහා අනුරූප ගොනුව හෝ වෙනත් දෙයක්)
  3. දිගුව මූලික ක්‍රියාකාරීත්වයකට සම්බන්ධ කර ඇත්නම් ප්‍රකාශන ගොනුවේ පරායත්තතාවය එක් කරන්න <depends><Mage_Catalog /></depend>
  4. මොඩියුලය ප්‍රජා භාවිතය සඳහා නම්, communityකේතය සෘජුවම වෙනස් නොකර සංවර්ධකයින්ට සමහර පන්ති අභිබවා යාමට අවස්ථාව ලබා දීම සඳහා කෝඩ්පූල් ලෙස භාවිතා කරන්න
  5. app/design/frontend/base/default සියළුම තේමාවන් සඳහා ඒවා ලබා දීම සඳහා ඔබේ ඉදිරිපස සැලසුම් ගොනු දමන්න .
  6. ඔබගේ පරිපාලක සැලසුම් ගොනු ඇතුලත් app/design/adminhtml/default/defaultකරන්න, පරිපාලක තේමාව වෙනස් නොකරන්න. මගේ මොඩියුලයකින් එය වෙනස් කිරීමට මට අවශ්‍ය විය හැකිය.
  7. හුදකලා කිරීම පහසු කිරීම සඳහා ඔබේ පිරිසැලසුම් ගොනු නාම සහ අච්චු ෆෝල්ඩරයේ නම සමාගමේ නම සමඟ උපසර්ග කරන්න. easylife_articles.xmlහාapp/design/.../easylife_articles
  8. ඔබගේ ස්ථිතික සම්පත් (ජාවාස්ක්‍රිප්ට්, සීඑස්එස් සහ රූප) අච්චු ලිපිගොනු වලට සමාන ෆෝල්ඩරයක තබන්න easylife_articles/images/doh.png
  9. දිගුව අස්ථාපනය කරන්නේ කෙසේද යන්න සමඟ සරල පෙළ ගොනුවක් අමුණන්න: ඉවත් කළ යුතු ලිපිගොනු මොනවාද, අතහැර දැමිය යුතු වගු මොනවාද, core_config_dataවගුවෙන් ඉවත් කළ යුතු වින්‍යාස සැකසුම් මොනවාද .
  10. ආකෘති, කුට්ටි හෝ සහායකයන් තුළ සෘජුවම විමසුම් ලියන්න එපා, ඒ සඳහා සම්පත් ආකෘතියක් භාවිතා කරන්න.
  11. වගු නම් කෙලින්ම විමසුම් ලියන්න එපා Select * from sales_flat_order where .... A භාවිතා කර Zend_Selectවගු නාම පරිවර්තනය කරන්න ->getTable('sales/order').
  12. jsඅච්චුවේ ගොනු ඇතුළත් කිරීමට මූලික url භාවිතා කරන්න . වැරදියි <script type="text/javascript" src="../js/some.js"></script> . හරි <script type="text/javascript" src="<?php echo Mage::getBaseUrl('js').'some.js'?>"></script>
  13. අවශ්‍ය නම් මිස පන්ති නැවත ලියන්න එපා. නිරීක්ෂකයින් භාවිතා කරන්න, ඔබට අභිබවා යාමට අවශ්‍ය පංතියක පරාමිතිය සහ උදාහරණය ලෙස ලැබෙන උපකාරක ක්‍රම භාවිතා කිරීමට නොහැකි නම්. වැරදියි : Mage_Catalog_Model_Productක්‍රමය එක් කිරීමට උඩින් යන්න getProductArticles(). හරි . ඔබගේ සහායක එකතු කරන්න getProductArticles(Mage_Catalog_Model_Product $product)
  14. ඔබ පන්ති ඉක්මවා ගියහොත් ඒවායේ ලැයිස්තුවක් readme.txtගොනුවක තබන්න
  15. ඔබගේ මොඩියුලයේ පරිපාලක කොටස සඳහා පෙරනිමි පරිපාලක මාර්ගය භාවිතා කරන්න. වැරදි පරිපාලක URL articles/adminhtml_articles/index . දකුණු පරිපාලක URL admin/articles/index
  16. ඔබගේ පරිපාලක අංශ සඳහා ACL එක් කරන්න. සමහර පරිපාලකයින්ට ප්‍රවේශ වීම සීමා කිරීමට මට අවශ්‍ය විය හැකිය.
  17. අවශ්‍ය නොවේ නම් තවත් ජාවාස්ක්‍රිප්ට් රාමුවක් (jQuery, MooTools, ආදිය) එකතු නොකරන්න. මූලාකෘතියේ ඔබට කේතය ලියන්න.
  18. ඔබ HTML W3C අච්චුව වලංගු කරන්න (මෙය මා වැනි OCD සංවර්ධකයින් සඳහා වේ).
  19. පින්තූර mediaෆෝල්ඩරයට දමන්න එපා . භාවිතා කරන්න skin. මෙම media ෆෝල්ඩරය සාමාන්යයෙන් වෙළුම් නැති අතර මෙම එය අමාරු විවිධ ක්ෂේත්ර වෙත මෙම වෙබ් අඩවිය ගමන් කරයි.
  20. ඔබේ දිගුව පැතලි නාමාවලිය සමඟ සක්‍රිය සහ අක්‍රිය කරන්න. සංවර්ධන කාලය දෙගුණ නොකිරීමට, චාඕස් වඳුරා භාවිතා කරන්න .
  21. හැඹිලිය onසහ හැඹිලිය සමඟ ඔබේ දිගුව පරීක්ෂා කරන්න off.
  22. මොඩියුලයේ සහ පන්ති නාමවල ලොකු අකුරු භාවිතා කිරීමෙන් වළකින්න. නිසි ලෙස පරීක්‍ෂා නොකළහොත් මෙය විවිධ මෙහෙයුම් පද්ධතියේ ගැටළු ඇති කළ හැකිය. මෙය වඩාත් නිර්දේශයක් මිස 'අත්‍යවශ්‍ය දෙයක්' නොවේ.
  23. සංවර්ධකයින්ට ක්‍රියාකාරීත්වය වෙනස් කිරීම පහසු කිරීම සඳහා ඔබේ කේතයේ සිදුවීම් යවන්න.
  24. Magento භාවිතා කරන කේතීකරණ ප්‍රමිතීන් අනුගමනය කර ඔබේ කේතය අදහස් දක්වන්න.
  25. PHP කෙටි ටැග් ( <? $this->doSomething() ?>) භාවිතා නොකරන්න . සම්පූර්ණ ටැග් ( <?php $this->doSomething()?>) භාවිතා කරන්න . තවම කෙටි echo tags භාවිතා නොකරන්න. ( <?="D'oh";?>). භාවිතා කරන්න ( <?php echo "D'oh";?>)
  26. අවම වශයෙන් භාෂාව සඳහා $this->__ඔබේ පෙළ ( app/local/en_US/Easylife_Articles.csv) භාවිතා කර ඔබේ පෙළ පරිවර්තනය කරන්න en_US. සෑම වෙබ් අඩවියක්ම ඉංග්‍රීසියෙන් ගොඩනගා නැති අතර පරිවර්තනය කිරීම සඳහා පෙළ හඳුනා ගැනීම කාලය ගත වේ.
  27. ඔබ දීර් offer දීමනාවක් විකුණන්නේ නම් අවම වශයෙන් මූලික සහාය. නැතහොත් අවම වශයෙන් ඔබට ලැබෙන සහාය විද්‍යුත් තැපැල් වලට පිළිතුරු දෙන්න.
  28. බලපත්‍ර වලංගු කිරීම සඳහා ඔබේ දිගුව හරහා ඔබේ සේවාදායකයන්ට නිරන්තර ඇමතුම් ලබා නොගන්න. වරක්, ස්ථාපනය කිරීමේදී අවශ්‍ය ප්‍රමාණයට වඩා වැඩිය (මම මෙම ප්‍රවේශයට කැමති නැත, නමුත් සෑම විටම ඇමතුම් ලබා ගැනීමට වඩා හොඳය). ( මෙම ප්‍රශ්නයෙන් ආශ්වාදයක් )
  29. ලොගය සක්‍රිය කර ඇති අතර වරින් වර var/log/system.logගොනුව දෙස බලන්න . මෙහි ලැයිස්තුගත කර ඇති දෝෂ සංවර්ධක මාදිලිය සමඟ පවා නොපෙන්වයි. අවම වශයෙන් එක් දෝෂයක් තිබේ නම්, දිගුව ක්‍රියාත්මක කිරීමෙන් මාස කිහිපයකට පසු ඔබ විශාල ලොග් ගොනුවක් සමඟ අවසන් වේ.
  30. ඔබගේ දිගුව යම් ආකාරයකින් පිටවීමේ ක්‍රියාවලියට හෝ ඇණවුම් වලට බලපාන්නේ නම්, එය බහු නැව්ගත කිරීම සමඟ ක්‍රියා කරන බවට වග බලා ගන්න, නැතහොත් එය බහු නැව්ගත කිරීම සමඟ ක්‍රියා නොකළ යුතු නම්, එය එයට බලපාන්නේ නැති බවට වග බලා ගන්න.
  31. සුපුරුදු පරිපාලක දැනුම්දීම් තීරුව (හෝ පෝෂණ URL) ප්‍රතිස්ථාපනය නොකරන්න. ඔබ ලබා දිය යුතු දේ ගැන මා උනන්දු නම් මම ඔබේ පුවත් පත්‍රයට දායක වෙමි. මැජෙන්ටෝට කියන්නට ඇත්තේ කුමක්දැයි මට බලන්න දෙන්න. එය මට වඩා වැදගත් ය.
  32. ඔබ ඔබේ කේත ගොනු අයෝන්කියුබ් (හෝ වෙනත් දෙයක්) සමඟ සංකේතනය කරන්නේ නම් ... හොඳයි ... මම ඔබට වෛර කරන අතර ඔබේ ව්‍යාපාරය බංකොලොත් වනු ඇතැයි මම බලාපොරොත්තු වෙමි

මෙතෙක් සිදුව ඇත්තේ එයයි. මම වෙනත් දෙයක් ගැන සිතූ විගස තවත් එකතු කරමි.


මම ඔබ සමඟ එකඟයි, එය අනිවාර්යයෙන්ම හොඳ ආරම්භයක්. විවිධ ආකාරයේ වින්‍යාසයන් සහ ගැටළු ආවරණය කිරීම සැමවිටම කළ නොහැකි බව ඔබට වැටහෙනු ඇත, අවම වශයෙන් එය හැකි එකක් අඩු කරනු ඇත. වෙනත් දීර් ensions කිරීම් සමඟ මා හමුවන බොහෝ ගැටලු හෝ මිනිසුන් මා හමුවන්නේ නැවත ලිවීම සමඟ ඇති ගැටුම් හේතුවෙනි.
සිල්වයින් රේ

2
@ මාරියස්, මගෙන් 1+ ක් විශ්වාසයි. සංවර්ධනයේ දී අප මුහුණ දෙන බොහෝ අවස්ථාවන් සහ සිද්ධීන් ආවරණය කරයි.
liyakat

4
Ol කොලින් එම්. පළමුවෙන්ම ඔබේ අදහස් දැක්වීම මෙහි ගෞරවයක්. :). වෙනසක් ඇති බව මම එකඟ වෙමි, මම පිළිතුර වෙනස් කරමි, නමුත් මම තවමත් සිතන්නේ ඒ දෙකම වළක්වා ගත යුතු බවයි, අවම වශයෙන් PHP 5.3 “නව PHP 4” බවට පත්වන තුරු. මම කිව්වේ එය තවමත් මහා පරිමාණයෙන් භාවිතා වන බවයි.
මාරියස්

4
Ari මාරියස්, ඔබේ කරුණු ඉතා ප්‍රයෝජනවත්. # 31 වන තෙක් මම සෑම කරුණක් කෙරෙහිම බැරෑරුම් ලෙස අවධානය යොමු කළෙමි, නමුත් # 32 වන විට මම හයියෙන් සිනාසුණෙමි. +1 විශේෂයෙන් අංක 32 සඳහා
එම්ටීඑම්

1
If you encrypt your code files with Ioncube (or something else)...well...I just hate you and I hope your business goes bankruptමටත් එහෙමයි. යාවත්කාලීන කළ අනුවාදයක් ඉදිරිපත් නොකරන සමහර සමාගම් තිබේ, ඔබට ඒවා සඳහා ගෙවීමට සිදුවනු ඇත, එය මට ඇත්තෙන්ම කලකිරීමක් වන අතර එකම නිෂ්පාදනයක් නැවත නැවතත් විකිණීමට අවශ්‍ය වන්නේ ඇයි දැයි නොතේරේ (මුදල් ඉපයීමට? පැහැදිලිවම). මම තවදුරටත් ඔවුන්ගේ නිෂ්පාදනය මිලට ගන්නේ නැහැ. ඔයා දන්නවා මම කා ගැනද කතා කරන්නේ කියලා.
ආදර්ෂ් ඛත්‍රි

32

මම මෝඩ්මන් භාවිතා කිරීමේ විශාල රසිකයෙක් වන අතර එමඟින් මගේ දිගුව වැඩි දියුණු කර ප්‍රභව පාලනය කළ හැකි අතර මූලික ලිපිගොනු සහ ෆෝල්ඩර ව්‍යුහය නොවෙනස්ව තබමි. එමඟින් විවිධ ස්ථාපනයන් හරහා පරීක්ෂණ වඩාත් සුමටව සිදු කරයි.

ඔහ් සහ එක් දැවැන්ත ඉඟියක් සෑම විටම ඔබේ ඇසුරුම් කරන ලද දිගුව මැජෙන්ටෝ සම්බන්ධතාවයට උඩුගත කිරීමට පෙර පිරිසිදු ස්ථාපනයකින් දේශීයව ස්ථාපනය කිරීමට උත්සාහ කරන්න, පැකේජ කළමණාකරු තුළ මට බොහෝ වාර ගණනක් ලිපිගොනු මග හැරී ඇත.


3
'ඔබේ ඇසුරුම් කළ දිගුව දේශීයව ස්ථාපනය කරන්න' ගැන හොඳ ඇමතුමක්. මම හිතන්නේ මෙය ගණයට වැටේ: 'ඔබේ දෙවියන්ගේ දිගුව ඉහළ සිට පහළට පරීක්ෂා කරන්න'.
මාරියස්

මම මීට පෙරත් මෙයින් හසු වී සිටිමි. වග බලා ගන්න ඔබට පිරිසිදු බව ය ස්ථාපනය මත පැකේජය පරීක්ෂා කරන්න නොවේ ඔබ එය මත ඇසුරුම් එම එක්!
ජෝශප් ලීඩි

23

ඇන්ඩ්‍රියාස් වොන් ස්ටඩ්නිට්ස් සහ ආචාර්ය නිකොලායි ක්‍රම්බ්‍රොක් යන මහත්වරුන් විසින් Meet Magento DE 2014 හි කේතයේ ගුණාත්මකභාවය පිළිබඳ හොඳ ඉදිරිපත් කිරීමක් කරන ලදී. ඔවුන් සාමාන්‍ය කේතවල ගුණාත්මකභාවය සහ Magento විශේෂිත කේතවල ගුණාත්මකභාවය අතර වෙනස හඳුනා ගනී. කෙටියෙන් කිවහොත්, පහත දැක්වෙන පොදු නීති තිබේ:

  • ව්‍යුහමය මූලද්‍රව්‍යයන් භාවිතා කිරීම - පංති හා ක්‍රම මෙන් - මධ්‍යම අල්ලා ගැනීමේ පන්තිවල සකස් කළ යුතුය. ව්‍යුහයේ මෙම මූලද්‍රව්‍යයන් අර්ථවත් වන්නේ ඒවා ව්‍යුහගත කිරීම සඳහා භාවිතා කරන විට පමණි. එබැවින් ඒවා මධ්‍යම ප්‍රමාණයේ විය යුතුය. පංති සඳහා කේත රේඛා 100-200 ක් සහ ක්‍රම සඳහා 3-20 කේත රේඛා භාවිතා කිරීම සැලකේ.
  • කේතය ඉන්ඩෙන්ට් කර ඇති විට "if" හෝ "while" භාවිතා කිරීම නිසා. ඉන්ඩෙන්ෂන් 3 කට වඩා තිබේ නම් ඒවා සංශෝධනය කිරීම වඩා හොඳය. කේතයේ සංකීර්ණතාවයට බොහෝ ඉන්ඩෙන්ෂන් සාක්ෂි වන අතර එබැවින් ඒවා වළක්වා ගත යුතුය.
  • මළ කේතය වළක්වා මකා දැමිය යුතුය. ස්ථිතික විශ්ලේෂණයන් එකක් තිබේ නම් එය සොයා ගැනීමට උපකාරී වේ.

ඊටත් වඩා වැදගත් වන්නේ Magento- විශේෂිත නීති:

  • මොඩියුල ස්වාධීනව වැඩ කළ යුතුය. ඔවුන්ට තිබිය යුත්තේ වෙනත් මොඩියුලයන් මත යැපීම පමණක් වන අතර සැකිලි මත යැපීමක් නැත. විසඳුමක් වන්නේ සැකිලි ලිපිගොනු වලට අනුවර්තනය වීම වෙනුවට පිරිසැලසුම් යාවත්කාලීන කිරීම් (පදනම් / පෙරනිමි) සහ අච්චුවේ අතිරේක කාර්යයන් ආවරණය කරන මොඩියුලයකි.
  • Magento core-hacks සහ බාහිර මොඩියුලවල යාවත්කාලීන කිරීම් වල හැකියාව පවත්වා ගැනීම වළක්වා ගත යුතුය. වඩා හොඳ ක්‍රමයක් වන්නේ නැවත ලිවීම හෝ නිරීක්ෂකයා භාවිතා කිරීමයි.
  • වෙනස්කම් සඳහා, දත්ත සමුදායේ හෝ පරිපාලකගේ සෘජු වෙනස්කම් වෙනුවට සැකසුම් ස්ක්‍රිප්ට් භාවිතා කිරීම වඩා හොඳය. ඔවුන්ට ස්තූතියි වෙනස්කම් සිදු කළ යුත්තේ එක් වරක් පමණි.

මෙන්න තවත් විස්තර සහ ඉදිරිපත් කිරීමේ වීඩියෝවක්: http://www.code4business.de/code-quality-magento/


1
නමුත් ඔබ පළ කළ සබැඳියේ ඉංග්‍රීසි අනුවාදයක් තිබේ නම් ඊටත් වඩා හොඳ වනු ඇත.
මාරියස්

මෙම ඉදිරිපත් කිරීමේ ඉංග්‍රීසි පිටපතක් ළඟදීම ලිවීමට නියමිතය. මම ඔබව වර්තමානයේ තබා ගන්නා අතර ඉංග්‍රීසි අනුවාදය ප්‍රකාශයට පත් කළ විගසම නව සබැඳිය බෙදා ගන්නෙමි.
user3743859

ඉදිරිපත් කිරීමේ ඉංග්‍රීසි අනුවාදය දැන් මාර්ගගතව ඇත. මෙන්න එයට සබැඳිය: code4business.de/code-quality-magento
user3743859

හහ්? එය තවමත් ජර්මානු භාෂාවෙන්. නමුත් සති 2 කට පමණ පෙර MeetMagentRo හි ඉංග්‍රීසි බසින් මෙම ඉදිරිපත් කිරීමට සහභාගී වීමට මට සිදුවිය. නියම දේවල්.
මාරියස්

19

ඔබ ඔබේ දිගුව විකුණන්නේ නම් හෝ එය අන් අය සමඟ බෙදා ගන්නේ නම්, මිනිසුන්ට කියවිය හැකි කේත ලිවීම ගැන සිතන්න.

  1. ක්‍රමවේදය ඉතා සංකීර්ණ නොකරන්න
  2. ඔබේ ක්‍රමවලට DOC බ්ලොක් එකතු කරන්න *
  3. $productIdsඒ වෙනුවට වැනි නිවැරදි විචල්‍ය නම් භාවිතා කරන්න$ids
  4. ක්‍රම සඳහා සමාන වේ, public function myOnProductSaveMethod() {...}පවසයි ... කිසිවක් නැත, නමුත් tryDisableInternetOnProductSave()අවශ්‍ය සැලසුම් කර ඇති ඉඟියක් ලබා දෙනු ඇත
  5. එය අර්ථවත් වන ආකාරයේ ඉඟි භාවිතා කරන්න someMethod(Varien_Data_Db_Collection $collection)
  6. මැජික් අංක සහ නූල් වලින් වළකින්න **
  7. ඔබ ආකෘති භාවිතා කරන්නේ නම් ඒවා නිරීක්‍ෂකයන්ට වඩා පහසුවෙන් ලබා ගත හැකි වන පරිදි $_eventPrefixදේපල (සහ $_eventObject) සකසා ඇත
  8. ඔබ පද්ධති වින්‍යාස ක්ෂේත්‍ර එකතු කරන්නේ නම්
    • පෙරනිමි අගයන් සකසන්න config.xml
    • <validate>ක්ෂේත්‍ර සඳහා නෝඩ් එක් කරන්නsystem.xml
    • ACL සම්පත් එකතු කරන්න adminhtml.xml
  9. පරිපාලක පසුබිමෙහි පළමු මට්ටමේ මෙනු ඇතුළත් කිරීම් නිෂ් less ල / ප්‍රචාරණය නොකරන්න - ඉහළ තීරුවේ හෝ වින්‍යාස අංශවල නොවේ
  10. සියළුම පාලක ක්‍රියාවන් සඳහා ACL සම්පත් එක් කරන්න (සම්බාහනයද!)
  11. ඔබේ විමසුම් DB වගු උපසර්ග සමඟ වැඩ කරන බවට සහතික වන්න
  12. (නැත) පසුගාමී අනුකූලතාව ගැන සිතන්න (මෙය සැබවින්ම මතය පදනම් කරගත්)
    • Mysql4පන්ති වලට සහාය නොදක්වන්න
    • අතහැර දැමූ ක්‍රම භාවිතා නොකරන්න
  13. සෑම අවස්ථාවකදීම අපේක්ෂිත පරිදි ඔබේ ව්‍යාප්තිය ක්‍රියාත්මක වන බවට සහතික වන්න - යුනිට් ටෙස්ට් එක් කරන්න (උදාහරණයක් ලෙස PhpUnit)
  14. ඩේවිඩ් මැනර්ස් වලට අමතරව ... composer.jsonයෙදවීම පහසු කිරීම සඳහා තවත් එක් කරන්න
  15. PHP5.6 EOL බැවින්, ඔබේ කේතය PHP7 සඳහා ලියන්න. declare(strict_types=1);ඔබගේ සහ ප්‍රතිදාන වර්ග භාවිතා කරන්න සහ නිර්වචනය කරන්න
  16. Magento2: ස්ථිතික කේත සමඟ ඔබේ කේතය පරීක්ෂා කරන්න phpstan වැනි මෙවලම් විශ්ලේෂණය කරන්න . මැජික් ක්‍රම සඳහා සහාය මෙහි . (නවතම කැපවීම 2.3 සමඟ වැඩ කරයි, මීට පෙර 2.1 / 2.2 සඳහා - ටාට් සඳහා phpstan 0.8.5 අවශ්‍ය වේ)

* DOC වාරණ:

PSR2 ප්‍රමිතිය හෝ PHPMD සඳහා PHP_CodeSniffer සමඟ ඔබේ Magento-1 කේතය පරීක්ෂා කළහොත් ඔබට මෙම රේඛා එක් කිරීමට අවශ්‍ය වනු ඇත (එය අර්ථවත් වන තැන) ...

  • පන්ති වලට
    • @phpcs:disable PSR1.Classes.ClassDeclaration.MissingNamespace
    • @phpcs:disable PSR2.Classes.PropertyDeclaration.Underscore - උරුම වූ දේපල
    • @phpcs:disable Squiz.Classes.ValidClassName.NotCamelCaps
    • @SuppressWarnings(PHPMD.CamelCaseClassName)
    • @SuppressWarnings(PHPMD.CamelCasePropertyName) - උරුම වූ දේපල
  • ක්‍රම වලට
    • @SuppressWarnings(PHPMD.CamelCaseMethodName) - උරුම වූ ක්‍රම
    • @SuppressWarnings(PHPMD.StaticAccess)- ඔබ භාවිතා කරන්නේ නම් Mage::හෝ වෙනත් ස්ථිතික ඇමතුම්

** බොහෝ විට භාවිතා වේ:

  • පරිපාලක ගබඩා හැඳුනුම්පත
    • 0 > Mage_Core_Model_App::ADMIN_STORE_ID
  • නිෂ්පාදන status
    • 1 > Mage_Catalog_Model_Product_Status::STATUS_ENABLED
    • 2> Mage_Catalog_Model_Product_Status::STATUS_DISABLED ( 0බලාපොරොත්තු වූ පරිදි නොවේ )
  • නිෂ්පාදන type
    • simple > Mage_Catalog_Model_Product_Type::TYPE_SIMPLE
    • bundle > Mage_Catalog_Model_Product_Type::TYPE_BUNDLE
    • configurable > Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE
    • grouped > Mage_Catalog_Model_Product_Type::TYPE_GROUPED
    • virtual > Mage_Catalog_Model_Product_Type::TYPE_VIRTUAL
  • නිෂ්පාදන visibity
    • 1 > Mage_Catalog_Model_Product_Visibility::VISIBILITY_NOT_VISIBLE
    • 2 > Mage_Catalog_Model_Product_Visibility::VISIBILITY_IN_CATALOG
    • 3 > Mage_Catalog_Model_Product_Visibility::VISIBILITY_IN_SEARCH
    • 4 > Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH

SQL ඇණවුමට ASCඑදිරිව එදිරිව Zend_Db_Select::SQL_ASC (උදාහරණයක් ලෙස) .

"එය කිසි විටෙකත් වෙනස් නොවන අනවශ්‍ය හේතුවක් නොවේ" යැයි පැවසීම ? නිදසුනක් ලෙස, catalog_productගුණාංග සඳහා වන හැඳුනුම්පත Magento 1.5 සහ 1.9 අතර සිට කොතැනක හෝ වෙනස් වී 10ඇත 4, එබැවින් මෙය ඔබගේ දිගුව බිඳ දැමිය හැකිය:

$collection->addFieldToFilter('entity_type_id', 10)

මෙය භාවිතා කිරීමෙන් එක් විමසුමක් එක් කරයි, නමුත් ඔබ ආරක්ෂිත වනු ඇත ...

$entityTypeId = Mage::getModel('eav/config')
    ->getEntityType(Mage_Catalog_Model_Product::ENTITY)
    ->getEntityTypeId();

$collection->addFieldToFilter('entity_type_id', $entityTypeId)

9

කේතකරණ ප්‍රමිති සම්බන්ධයෙන් @marius (ඔබේ ලැයිස්තුවේ 24 වන කරුණ).

මම භාවිතා කිරීමට කැමති PHP_CodeSniffer සමග EQP හා ECG මෙම ප්රමිතීන් ස්වයංක්රීයව ක්රියාත්මක කිරීමට CS.

PHP_CodeSniffer භාවිතා කිරීමෙන් ප්‍රතිස්ථාපනය array()කිරීම [], භාවිතා කිරීමෙන් වළකින්න is_null, භාවිතයට නොගත් දේශීය විචල්‍යයන් හෝ PHPDoc වාරණයකින් තොර ක්‍රමයක් වැනි දේවල් අමතක කිරීම ගැන කරදර විය යුතු නැත .

PHP_CodeSniffer සෑම විටම ඔබට ඒ ගැන කියයි.


එකඟ විය! හැකි ආකාරය: magento.stackexchange.com/questions/178640/…
sv3n

සීඑස් දෙකම PHPStorm හි වින්‍යාස කිරීමට ක්‍රමයක් නොමැති බව මම සිතමි (PHPStorm භාවිතා කරන්නන් සඳහා) නමුත් ඔබේ කේතයේ ඇති CS පරීක්ෂා කිරීමට ඔබට සෑම විටම ටර්මිනලය භාවිතා කළ හැකිය. Grumphp github.com/phpro/grumphp වැනි මෙවලම්ද ටිකක් උපකාරී වේ.
diazwatson

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.