¿Por qué recibo “falta de función” error? Mi función es justo allí!

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

  •  26-09-2019
  •  | 
  •  

Pregunta

Me estoy haciendo "Fatal error: Call to undefined function getSContent ()" con el código incluido, pero ... como se puede ver: Mi función es justo ahí

Por favor, ayuda. Estoy seguro de que necesito un poco de sueño.

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

}
¿Fue útil?

Solución

Se tiene que especificar el contexto. PHP a diferencia de, por ejemplo, C ++ no asume implícitamente this.

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

Otros consejos

Su función es, en particular, un método. nombres de los métodos no vivo en la tabla de funciones PHP, que están asociados con una clase particular.

Se debe llamar con la notación $object->methodName(), donde $object puede ser $this cuando dentro de un método con el fin de llamar a un método de instancia de la misma instancia que la actual.

La notación se convierte en ClassName::methodName() cuando el método se declara estático. En circunstancias especiales, los métodos de instancia también piden ser llamados con esta sintaxis.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top