Почему я получаю ошибку «Отсутствующую функцию»? Моя функция прямо там!

StackOverflow https://stackoverflow.com/questions/3432066

  •  26-09-2019
  •  | 
  •  

Вопрос

я получаю «Фатальная ошибка: вызов неопределенной функции GetSontent ()» С включенным кодом, но ... Как вы можете видеть: моя функция прямо там!

Пожалуйста помоги. Я уверен, что мне нужно сон.

class InfoController extends AppController {

    var $name = 'Info';
    var $helpers = array('Html', 'Session');
    var $uses = array();

    function display() {
        $path = func_get_args();

        $section = $path[0];
        $mainMenuActiveElement = $section;
        $sectionContent = getSContent($section);

        $this->set(compact('section', 'mainMenuActiveElement', 'sectionContent'));
        $this->render('/pages/info');
    }

    function getSContent($section) {
        $sectionContent = '';
        switch ($section) {
            case 'bases':
                $sectionContent = 'some content';
                break;
            case 'informacion':
                $sectionContent = 'some other content';
                break;
        }
        return $sectionContent; 
    }

}
Это было полезно?

Решение

Вы должны указать контекст. PHP в отличие от, например, C ++ не предполагает this неявно.

$sectionContent = $this->getSContent($section);

Другие советы

Ваша функция, в частности, метод. Имена методов не живут в таблице функций PHP, они связаны с определенным классом.

Вы должны позвонить им с обозначением $object->methodName(), куда $object может быть $this Когда внутри способа, чтобы вызвать метод экземпляра того же экземпляра, что и текущий.

Обозначение становится ClassName::methodName() Когда метод объявлен статическим. В особых обстоятельствах методы экземпляра вызова также называются с этим синтаксисом.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top