gpt4 book ai didi

php - 如何在自定义 magento 类中调用静态方法

转载 作者:可可西里 更新时间:2023-11-01 00:53:23 26 4
gpt4 key购买 nike

我在具有静态功能的自定义 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

最佳答案

假设像 Mage::getModel() 这样的任何方法实际上都会返回该类的一个实例,您将动态调用它而不是静态调用它。例如,您将执行 $module->staticMethod(); 而不是 Module::staticMethod().

所以最好的办法是

  • 要么将静态方法作为常规函数,以便它在全局范围内可用,
  • 将所有静态方法放在一个类中,并将该类命名为 Common 这样您就不必输入很长的名称,
  • 或者按照您在问题中所做的方式静态调用它,例如 Module::method()

最后,静态调用方法的唯一方法是通过 Class::method()

关于php - 如何在自定义 magento 类中调用静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2370180/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com