質問: new foobaznothelpful();を使用しますhelper.phpまたはnothelpful.php内の実際のクラス名は、私にとって不明確です。それはfoobarhelper、helper、barhelper、または完全に別の何かである必要がありますか?foobarhelper::method1();を呼び出そうとすると、クラスの名前に関係なくエラーが発生します。 phpの致命的なエラー:クラス 'foobarhelper'が見つかりません 私は明らかに少なくとも一つのことを間違っています。誰か私にそれらの1つ以上が何であるかを教えてもらえますか?
回答: あなたが探しているスキーマは、実際には[componentname] [directory] [name]です。コンポーネントには通常、少なくとも次のディレクトリがあります:コントローラー、モデル、ビュー、ヘルパー。ヘルパーファイルがhelper.phpであるcom_mycomponentというコンポーネントの場合、これはmycomponenthelperhelperになります。 キャメルケースのフォーマットは、クラスが正しく認識されるために特に重要です。コンポーネントが他のコンポーネントで使用できるようにするクラスを提供している場合を除き、jloader :: registerprefix()を使用する必要はありません。代わりに、jloader :: discover()を使用して、それらのクラスをコンポーネントに提供できます。 com_mycomponent/helpersの場合、これはjloader :: discover( 'helpers'、jpath_component。 '/ helpers');jloader :: registernamespace()を使用してphp名前空間を使用することもできます。これらのメソッドの詳細については、 http://docs.joomla.org/using_own_library_in_your_extensions を参照してください。