ඔබ ඔබේ දිගුව විකුණන්නේ නම් හෝ එය අන් අය සමඟ බෙදා ගන්නේ නම්, මිනිසුන්ට කියවිය හැකි කේත ලිවීම ගැන සිතන්න.
- ක්රමවේදය ඉතා සංකීර්ණ නොකරන්න
- ඔබේ ක්රමවලට 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)