Вероятно, это действительно глупый вопрос, но я не могу найти ответ, и метод проб и ошибок не удался.
Я разрабатываю компонент для Joomla 3.x и у меня есть несколько классов, которые я хочу использовать. Я пытаюсь реализовать JLoader::registerPrefix()
метод. Допустим, у меня есть два класса 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' не найден в
Я явно делаю хотя бы одну вещь неправильно. Может кто-нибудь сказать мне, что один или несколько из них?
class Helpful { ...
илиclass FooBazNotHelpful { ...
или что-то еще?