Hi friends,
Some people ask about the difference between Mage::getModel() and Mage::getSingleton() in Magento.
Here is the difference between these two:
Mage::getModel('module/model') will create a new instance of the model object (if such object exists in configuration)
So if we write:
Mage::getModel('catalog/product'), it will create new instance
of the object product each time. So,
$p1 = Mage::getModel('catalog/product');
$p2 = Mage::getModel('catalog/product');
Then $p1 is a one instance of product and $p2 is another instance of product.
While Mage::getSingleton('catalog/product') will create reference
on existing object (if object does not exist then this method will create an instance using ::getModel() and returns reference to it).
So, if$p1 = Mage::getSingleton('catalog/product');
$p2 = Mage::getSingleton('catalog/product');
Then $p1 and $p2 both refer to the same instance of product as reference $p2.
That's all.. Cheers.. :)
2 comments:
Good job. Thanks for your explaination
Thanks a lot for the info...
Post a Comment