Esta es probablemente una pregunta realmente estúpida, pero no puedo encontrar la respuesta y la prueba y error ha fallado.
Estoy desarrollando un componente para Joomla 3.xy tengo varias clases que quiero usar. Estoy tratando de implementar el JLoader::registerPrefix()
método. Digamos que tengo dos clases Helper
y NotHelpful
. Helper
es una clase estática almacenada en:
JPATH_LIBRARIES. '/foo/bar/Helper.php'
y NotHelpful
es una clase no estática almacenada en:
JPATH_LIBRARIES. '/foo/baz/NotHelpful.php'
Si quiero registrarlos, entiendo que llamaría:
JLoader::registerPrefix('Foo', JPATH_LIBRARIES . '/foo');
que estoy haciendo desde el punto de entrada a la aplicación.
Luego, para llamar Helper
, simplemente usaría FooBarHelper::method1();
o para crear una instancia nueva NotHelpful
sería$Class = new FooBazNotHelpful();
Lo que no está claro para mí es cuál debería ser el nombre real de la clase dentro de Helper.php o NotHelpful.php . ¿Debería ser FooBarHelper
, Helper
, BarHelper
, o algo completamente distinto?
Cuando intento llamar FooBarHelper::method1();
recibo el error, no importa cómo se llame mi clase, parece:
Error fatal de PHP: no se encontró la clase 'FooBarHelper' en
Claramente estoy haciendo al menos una cosa mal. ¿Alguien puede decirme cuáles son uno o más de ellos?
class Helpful { ...
oclass FooBazNotHelpful { ...
o alguna otra cosa?