0

Joomla,我定义了一个方法

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

  return false;
 }

但是当我调用该方法时,我遇到了一个致命错误,例如:

WWDatingController::assignRef()

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

4

1 回答 1

0

更多代码可能更有用。

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

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

制作“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->key 变量访问,我认为您使用现有对象,因为您不能在静态函数中使用 $this。所以答案1应该是你的解决方案。

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

于 2013-12-08T21:38:48.950 回答