有很多的后裔Mage_Eav_Model_Entity_Setup例如
class Mage_Checkout_Model_Resource_Setup extends Mage_Eav_Model_Entity_Setup
{
}
Run Code Online (Sandbox Code Playgroud)
但他们都是空的.
拥有所有这些空类有什么用?
它只是为了可扩展性并保留在同一模块的不同设置脚本中共享的常用功能吗?
我原以为这些自定义类可能会触发某种模块自动检测,但无法找到这方面的任何提示.
(基于Magento认证学习指南:使用自定义安装类在自定义模块中操作EAV属性有哪些优点).
首先,您需要了解Magento将其代码组织到模块中.模块背后的想法是帮助并强迫开发人员编写代码,使其代码不会干扰其他系统代码.
其次,当模块需要在Magento数据库中创建持久数据时,您将创建一个设置资源(自链接).设置资源是一个安装程序脚本,可以通过其父类访问特殊的函数/方法.这些特殊的函数/方法可以帮助开发人员在数据库中为其数据结构创建和填充表.其中许多方法都可以在 Mage_Eav_Model_Entity_Setup课堂上找到.
当开发人员为自己的模块创建设置资源时,他们会创建一个新类.通过创建一个新类,他们可以确保他们的设置资源需要的任何特殊方法都可以存放.本Mage_Checkout_Model_Resource_Setup类是Mage_Checkout模块的设置资源类.恰好这个模块不需要额外的方法.早期版本的Magento 强迫(至少,我相信他们这样做)模块开发人员如果想要使用设置资源功能,就可以创建自己的设置资源类.这样做是因为,如第一段所述,Magento的模块系统可以帮助确保模块A的代码不会干扰模块B.
| 归档时间: |
|
| 查看次数: |
401 次 |
| 最近记录: |