Неопределенная ошибка метода? - PullRequest
0 голосов
/ 25 февраля 2010

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 голосов
/ 09 декабря 2013

Больше кода может быть более полезным.

Я думаю, что ваша проблема в том, что вы пытаетесь вызывать метод статически вместо обычного вызова.

Объявление свойств или методов класса как статических делает их доступными без необходимости создания экземпляра класса. Недвижимость, объявленная как статические не могут быть доступны с экземпляром объекта класса (хотя статический метод может).

Создайте объект из "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 используйте эту ссылку

...