ඔබ ඔබේ දිගුව විකුණන්නේ නම් හෝ එය අන් අය සමඟ බෙදා ගන්නේ නම්, මිනිසුන්ට කියවිය හැකි කේත ලිවීම ගැන සිතන්න.
- ක්රමවේදය ඉතා සංකීර්ණ නොකරන්න
- ඔබේ ක්රමවලට DOC බ්ලොක් එකතු කරන්න *
$productIdsඒ වෙනුවට වැනි නිවැරදි විචල්ය නම් භාවිතා කරන්න$ids
- ක්රම සඳහා සමාන වේ,
public function myOnProductSaveMethod() {...}පවසයි ... කිසිවක් නැත, නමුත් tryDisableInternetOnProductSave()අවශ්ය සැලසුම් කර ඇති ඉඟියක් ලබා දෙනු ඇත
- එය අර්ථවත් වන ආකාරයේ ඉඟි භාවිතා කරන්න
someMethod(Varien_Data_Db_Collection $collection)
- මැජික් අංක සහ නූල් වලින් වළකින්න **
- ඔබ ආකෘති භාවිතා කරන්නේ නම් ඒවා නිරීක්ෂකයන්ට වඩා පහසුවෙන් ලබා ගත හැකි වන පරිදි
$_eventPrefixදේපල (සහ $_eventObject) සකසා ඇත
- ඔබ පද්ධති වින්යාස ක්ෂේත්ර එකතු කරන්නේ නම්
- පෙරනිමි අගයන් සකසන්න
config.xml
<validate>ක්ෂේත්ර සඳහා නෝඩ් එක් කරන්නsystem.xml
- ACL සම්පත් එකතු කරන්න
adminhtml.xml
- පරිපාලක පසුබිමෙහි පළමු මට්ටමේ මෙනු ඇතුළත් කිරීම් නිෂ් less ල / ප්රචාරණය නොකරන්න - ඉහළ තීරුවේ හෝ වින්යාස අංශවල නොවේ
- සියළුම පාලක ක්රියාවන් සඳහා ACL සම්පත් එක් කරන්න (සම්බාහනයද!)
- ඔබේ විමසුම් DB වගු උපසර්ග සමඟ වැඩ කරන බවට සහතික වන්න
- (නැත) පසුගාමී අනුකූලතාව ගැන සිතන්න (මෙය සැබවින්ම මතය පදනම් කරගත්)
Mysql4පන්ති වලට සහාය නොදක්වන්න
- අතහැර දැමූ ක්රම භාවිතා නොකරන්න
- සෑම අවස්ථාවකදීම අපේක්ෂිත පරිදි ඔබේ ව්යාප්තිය ක්රියාත්මක වන බවට සහතික වන්න - යුනිට් ටෙස්ට් එක් කරන්න (උදාහරණයක් ලෙස PhpUnit)
- ඩේවිඩ් මැනර්ස් වලට අමතරව ...
composer.jsonයෙදවීම පහසු කිරීම සඳහා තවත් එක් කරන්න
- PHP5.6 EOL බැවින්, ඔබේ කේතය PHP7 සඳහා ලියන්න.
declare(strict_types=1);ඔබගේ සහ ප්රතිදාන වර්ග භාවිතා කරන්න සහ නිර්වචනය කරන්න
- 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)