1

我收到“致命错误:调用未定义的函数 getSContent()”,其中包含代码,但是...如您所见:我的函数就在那里!

请帮忙。我确定我需要一些睡眠。

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

}
4

2 回答 2

7

您必须指定上下文。PHP 不像例如 c++ 不this隐式假设。

$sectionContent = $this->getSContent($section);
于 2010-08-07T21:15:29.637 回答
2

您的功能尤其是一种方法。方法名并不存在于 PHP 的函数表中,它们与特定的类相关联。

您应该使用表示法调用它们$object->methodName(),其中$object可以是$thiswhen 在方法内,以便调用与当前实例相同的实例方法。

ClassName::methodName()当方法被声明为静态时,符号变为。在特殊情况下,实例方法调用也用这种语法调用。

于 2010-08-07T21:20:24.100 回答