我在具有静态功能的自定义Magento模型中有自定义模型:
class ABC_Module_Model_ClassName
{
static public function send ( $something)
{
// do something static
}
}
现在我调用这个函数:
ABC_Module_Model_ClassName::send($something); // works and is nothing wrong with it
为了保持一致性,我想知道Mage是否有一种调用静态方法的内部方法,如下所示:
Mage::getModel('abc/module_className')::send($something); // this is wrong
// or
Mage::getModel('abc/module_className', send($something)); // with a callback or something
答案 0 :(得分:5)
鉴于像Mage::getModel()
这样的任何方法实际上都会返回该类的实例,您将动态地而不是静态地调用它。例如,您正在$module->staticMethod();
而不是Module::staticMethod().
。
所以你最好的是
Common
,这样您就不必输入真正的长名称,Module::method()
。最后,静态调用方法的唯一方法是通过Class::method()
。