Pergunta

estou obtendo "Erro fatal: chame para função indefinida getScontent ()" Com o código incluído, mas ... como você pode ver: minha função está ali!

Por favor ajude. Tenho certeza de que preciso dormir um pouco.

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; 
    }

}
Foi útil?

Solução

Você tem que especificar o contexto. PHP diferente de EG C ++ não assume this implicitamente.

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

Outras dicas

Sua função é, em particular, um método. Os nomes dos métodos não vivem na tabela de funções do PHP, eles estão associados a uma classe específica.

Você deve ligar para eles com a notação $object->methodName(), Onde $object pode ser $this Quando dentro de um método, para chamar um método de instância da mesma instância que o atual.

A notação se torna ClassName::methodName() Quando o método é declarado estático. Em circunstâncias especiais, os métodos de instância também são chamados com esta sintaxe.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top