未定义的方法错误?

时间:2010-02-25 11:18:58

标签: php joomla1.5

Joomla,我定义了一个方法

function assignRef($key, &$val)
 {
  if (is_string($key) && substr($key, 0, 1) != '_')
  {
   $this->$key =& $val;
   return true;
  }

  return false;
 }

但是当我调用那个方法时,我得到了一个致命的错误:

WWDatingController::assignRef()

这是一个Joomla基础项目。请提供解决方案。

1 个答案:

答案 0 :(得分:0)

更多代码可能更有用。

我认为您的问题是您尝试静态调用该方法而不是正常调用。

  

将类属性或方法声明为静态可使它们可访问   无需实例化类。声明为的财产   无法使用实例化的类对象访问static(尽管是   静态方法可以)。

创建一个“WWDatingController”对象并尝试通过

访问
$object->assignRef();

或在函数声明中使用关键字“static”,如下所示

static function assignRef($key, &$val)
 {
  if (is_string($key) && substr($key, 0, 1) != '_')
  {
   $this->$key =& $val;
   return true;
  }

  return false;
 }

由于$ this->键变量访问,我认为你使用的是现有对象,因为你不能在静态函数中使用$ this。所以答案1应该是你的解决方案。

有关PHP中静态的更多信息,请使用此link