我真的不明白为什么在哪里使用资源。
我执行此命令(find和grep),并在Resource文件夹中获取文件:
find . -type f | grep -P '/Resource/'
基本上使用目录
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4
为什么不呢?
app/code/core/Mage/Catalog/Model/Mysql4
在一段时间内,我认为它会使用EAV,但不会,因为客户使用EAV而没有这样的层次结构。
谢谢大家。
答案 0 :(得分:2)
其中一个Magento“老定时器”可能会给出更改背后的推理背景。 Magento核心团队在Magento 1.6中引入了MMDB,以支持多个数据库后端。其中一个变化涉及对资源模型进行重新分解,并且使用“Mysql4”命名资源模型如果它们仅支持一种类型的数据库则没有多大意义。 RDBMS Guide中的介绍有关此变化的更多背景知识。
所以简短的回答是“Mysql4”是老派,“资源”是新的热点,但它们几乎都有同样的目的。你会看到很多核心模块都有两种资源模型。 Mysql4
版本是为了兼容性,它们只是在不添加功能的情况下扩展其Resource
个等价物。
答案 1 :(得分:0)
该模块使用一个文件夹,该文件夹在config.xml中设置:
<global>
<models>
<catalog_resource>
<class>Mage_Catalog_Model_Resource</class>
...
</catalog_resource>
</models>
</global>