magento中资源模型和模型之间的区别
difference between resource model and model in magento
这两种语法有什么区别?
1) Mage::getModel('catalog/product')->load('1');
2) Mage::getResourceModel('catalog/product')
Mage::getModel()
Mage::getModel() 每次都会创建一个 object 的新实例,即使这样的 object 存在于配置中。
例子
$product1 = Mage::getModel('catalog/product');
$product2 = Mage::getModel('catalog/product');
$product1 和 $product2 都具有相同 object 的不同时刻并且占用不同的内存
Mage::getResourceModel()
据我所知,Magento中的collections都是资源模型。它们由
实例化
Mage::getResourceModel()
或
Mage::getModel()->getCollection()
使用哪个功能并不重要;后者只是调用第一个。 Magento 团队只是选择将 collections 作为资源的一部分,可能是因为 collections 需要大量查询数据库。通常,除了 collections.
之外,您不必为其他任何事情调用 Mage::getResourceModel()
这两种语法有什么区别?
1) Mage::getModel('catalog/product')->load('1');
2) Mage::getResourceModel('catalog/product')
Mage::getModel()
Mage::getModel() 每次都会创建一个 object 的新实例,即使这样的 object 存在于配置中。
例子
$product1 = Mage::getModel('catalog/product');
$product2 = Mage::getModel('catalog/product');
$product1 和 $product2 都具有相同 object 的不同时刻并且占用不同的内存
Mage::getResourceModel()
据我所知,Magento中的collections都是资源模型。它们由
实例化Mage::getResourceModel()
或
Mage::getModel()->getCollection()
使用哪个功能并不重要;后者只是调用第一个。 Magento 团队只是选择将 collections 作为资源的一部分,可能是因为 collections 需要大量查询数据库。通常,除了 collections.
之外,您不必为其他任何事情调用Mage::getResourceModel()