Questa è probabilmente una domanda davvero stupida ma non riesco a trovare la risposta e la prova e l'errore sono falliti.
Sto sviluppando un componente per Joomla 3.x e ho un numero di classi che voglio usare. Sto cercando di implementare il JLoader::registerPrefix()
metodo. Diciamo che ho due lezioni Helper
e NotHelpful
. Helper
è una classe statica memorizzata in:
JPATH_LIBRARIES. '/Foo/bar/Helper.php'
ed NotHelpful
è una classe non statica archiviata in:
JPATH_LIBRARIES. '/Foo/baz/NotHelpful.php'
Se voglio registrarli, la mia comprensione è che chiamerei:
JLoader::registerPrefix('Foo', JPATH_LIBRARIES . '/foo');
cosa che sto facendo dal punto di ingresso all'applicazione.
Quindi per chiamare Helper
, vorrei semplicemente usare FooBarHelper::method1();
o per creare un'istanza di un nuovo NotHelpful
sarebbe$Class = new FooBazNotHelpful();
Ciò che non è chiaro per me è quello che dovrebbe essere il nome della classe all'interno di Helper.php o NotHelpful.php . Dovrebbe essere FooBarHelper
, Helper
, BarHelper
, o qualcosa di completamente diverso?
Quando provo a chiamare FooBarHelper::method1();
ricevo l'errore, indipendentemente dal nome della mia classe, sembra:
Errore irreversibile PHP: classe 'FooBarHelper' non trovata in
Sto chiaramente facendo almeno una cosa di sbagliato. Qualcuno può dirmi cosa sono uno o più di loro?
class Helpful { ...
oclass FooBazNotHelpful { ...
qualcos'altro?