Загрузка и использование библиотек

Мне просто интересно, как загружать «внешние» php-библиотеки в мой компонент.

Я хотел бы получить почту через imap; чтобы получить эту работу, я хотел бы использовать lib, способный обрабатывать письма, закодированные в виде сообщений.

У меня работает мой скрипт-установщик: он загружает библиотеку в /lib /phpimap, но как я могу включить ее в свой компонент, не изменяя способ написания библиотеки?

Насколько я понял, я мог бы использовать JLoader :: find для этого.

Но если я использую JLoader :: discover ('PhpImap', JPATH_LIBRARIES. '/phpimap'); он будет «обнаруживать» только классы в /lib /phpimap, которые начинаются с «PhpImap», но классы называются по-другому и без какого-либо стандартного префикса.

Как я могу это решить?

1 голос | спросил MyFault 26 J0000006Europe/Moscow 2015, 14:15:29

1 ответ


1

Как вы заметили, Joomla Loader работает по принципу Joomla, вам нужно предоставить вам J-классы для загрузки.

Итак, ответ: просто включите библиотеку таким же образом, как это показано в ее примерах. Лучшей практикой является создание J классов для инкапсуляции вызовов библиотеки.

JLoader :: discovery следует за протоколом именования, но JLoader :: register позволяет регистрировать и автоматически загружать определенные классы:

JLoader::register('MyClass', .... . '/myclass.php');
ответил Anibal 26 J0000006Europe/Moscow 2015, 14:43:00

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132