なぜ私が「行方不明の機能」エラーが出るのですか?私の機能はすぐそこです!

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

  •  26-09-2019
  •  | 
  •  

質問

私はを「致命的なエラー:未定義の関数getSContent(へのコール)」を取得していますあなたが見ることができるように...含まれるコードとのが、:!My機能はすぐそこです。

してください、助け。私はいくつかの睡眠を必要と確信しています。

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