代码之家  ›  专栏  ›  技术社区  ›  vmarquez

为什么会出现“缺少函数”错误?我的功能就在那里!

  •  1
  • vmarquez  · 技术社区  · 15 年前

    “致命错误:调用未定义的函数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; 
        }
    
    }
    
    2 回复  |  直到 15 年前
        1
  •  7
  •   VolkerK    15 年前

    必须指定上下文。PHP不像c++那样 this

    $sectionContent = $this->getSContent($section);
    
        2
  •  2
  •   Artefacto    15 年前

    你的函数尤其是一个方法。方法名不存在于PHP的functions表中,它们与特定的类相关联。

    $object->methodName() ,在哪里 $object 可以是 $this 在方法中调用与当前实例相同的实例方法。

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

    推荐文章