これはおそらく本当に愚かな質問ですが、私は答えを見つけることができず、試行錯誤が失敗しました。
私はJoomla 3.xのコンポーネントを開発していますが、使用したいクラスがいくつかあります。JLoader::registerPrefix()
メソッドを実装しようとしています。私が2つのクラスHelper
とを持っているとしましょうNotHelpful
。Helper
は次の場所に格納されている静的クラスです。
JPATH_LIBRARIES。'/foo/bar/Helper.php'
またNotHelpful
、次の場所に保存されている非静的クラスです。
JPATH_LIBRARIES。'/foo/baz/NotHelpful.php'
これらを登録したい場合、私の理解は次のとおりです。
JLoader::registerPrefix('Foo', JPATH_LIBRARIES . '/foo');
これはエントリー・ポイントからアプリケーションまでです。
次に、を呼び出すHelper
には、単に使用するFooBarHelper::method1();
か、新しいインスタンスNotHelpful
を作成します$Class = new FooBazNotHelpful();
私にとって不明確なのは、Helper.phpまたはNotHelpful.php内の実際のクラス名がどうあるべきかです。それがあるべきFooBarHelper
、Helper
、BarHelper
完全に他の、または何か?
私が呼び出そうとするとFooBarHelper::method1();
、クラスの名前に関係なくエラーが発生します:
PHPの致命的なエラー:クラス 'FooBarHelper'が見つかりません
私は明らかに少なくとも一つのことを間違っています。それらの1つ以上が何であるかを誰かに教えてもらえますか?
class Helpful { ...
か、class FooBazNotHelpful { ...
または他の何か?