3

私は joomla 2.5 でコンポーネントとプラグインを作成しました。コンポーネントにHelperは多くの便利な関数を持つファイルがあり、その関数の 1 つを呼び出して、次のコードでヘルパーの別の関数を呼び出す予定です。

$this->getinformation();

そして、それは私にこのエラーを与えます:

Fatal error: Call to undefined method

私の質問は次のとおりです。

  • Joomla のヘルパーで関数を呼び出せないのはなぜですか?
  • ヘルパークラス内で関数を呼び出すにはどうすればよいですか?
  • このコードで見逃したクラス構造はありますか?
4

2 に答える 2

5

通常、ヘルパー ファイルは静的に呼び出され、$this を使用しません。

最初にヘルパー ファイルを作成し、次のようなメソッドを追加します。

Class myHelper {

    //This method can call other methods
    public static function myMethod($var) {

        //Call other method inside this class like this:
        self::myOtherMethod($var);

    }

    //This method is called by myMethod()
    public static function myOtherMethod($var) {

        //Put some code here

    }

}

次のようなヘルパー ファイルを、使用するドキュメントに含めるだけです。

require_once JPATH_COMPONENT.'/helpers/my_helper.php';

次に、次のように使用します。

myHelper::myMethod($var);

また

myHelper::myOtherMethod($var);
于 2012-11-21T08:28:54.663 に答える
0

ヘルパー ファイルを含め、クラス名を使用して関数を呼び出す必要があります。

プラグインまたはコンポーネントに次の行を追加します。

jimport( 'joomla.filesystem.folder' );
require_once JPATH_ROOT . '/components/com_xxxx/helper.php';

classname::functionname();

また

同じヘルパー ファイルで作業している場合は、次のように呼び出します

classname::functionname();
于 2012-11-20T12:32:55.987 に答える