是否可以在Magento模型中使用CamelCase类名?

kal*_*dan 7 magento

假设您有一个类名,Space_Module_Model_LongModelName并且您希望将其引用为:

Mage::getModel('module/longmodelname');
Run Code Online (Sandbox Code Playgroud)

这似乎适用于某些开发环境,但似乎并不适用于所有环境.可能与文件系统区分大小写设置有关.

您在不起作用的环境中获得的错误是include()for Space/Module/Model/Longmodelname.php失败.

Fab*_*idt 17

您的config.xml中有一个名为global/models/yourpackage的config-node,您可以在其中保存类模型的前缀.

当您调用Mage :: getModel('packagename/classname')时,Magento会获取此配置节点,例如,Company_Yourmodule_Models会添加_然后使用大写的第一个字母添加类名:

Company_Yourmodule_Models_Classname

如果你有cAMElcaSe类名,那就是一样的.因此,假设您的类名称为ClassName,则必须调用Mage :: getModel('packagename/className'),magento将其解析为:Company_Yourmodule_Models_ClassName