我真的不明白为什么在哪里使用资源

时间:2012-11-15 15:36:45

标签: magento

我真的不明白为什么在哪里使用资源。

我执行此命令(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而没有这样的层次结构。

谢谢大家。

2 个答案:

答案 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>