Помогите пожалуйста разобраться.
Собрал простой модуль и настроил. Сам по себе модуль работает как надо, но по какой то причине в нужном мне классе модуля не получается подключить нужные мне библиотеки собранные через composer.
Залил в папку с модулем файл vendor, который собрал мне composer. Создал класс в котором необходимо использовать данные из этой библиотеки.
Вот пример класса который должен отрабатывать.
расположение файла с классом /bitrix/modules/mmit.sfca/lib/googles/googledata.php
расположение файла библиотеки vendor /bitrix/modules/mmit.sfca/vendor/autoload.php
но по какой то причине он мне выдает вот такую ошибку.
Без использования $client = new Google_Client(); все нормально отрабатывает.
Примечание:
Данная конструкция класса нормально отрабатывает если ее вызывать непосредственно в самом компоненте или на любой странице сайта.
Так же не получается подключить библиотеку через файл include.php в папке модуля, но даже если бы и получилось, такой вариант мня не устраивает, так как подключать библиотеку нужно только в определенных случаях.
Сама библиотека очень большая с большим количеством зависимостей, разделить ее не получится.
Предположительная проблема заключается в сборщике классов битрикса, потому как Mmit\Sfca\Googles\Google_Client непонятно как он это получает.
Собрал простой модуль и настроил. Сам по себе модуль работает как надо, но по какой то причине в нужном мне классе модуля не получается подключить нужные мне библиотеки собранные через composer.
Залил в папку с модулем файл vendor, который собрал мне composer. Создал класс в котором необходимо использовать данные из этой библиотеки.
Вот пример класса который должен отрабатывать.
расположение файла с классом /bitrix/modules/mmit.sfca/lib/googles/googledata.php
расположение файла библиотеки vendor /bitrix/modules/mmit.sfca/vendor/autoload.php
Код |
---|
namespace Mmit\Sfca\Googles; class GoogleData{ public static function GetTestData(){ require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/mmit.sfca/vendor/autoload.php"); $client = new Google_Client(); return $client; } } |
Код |
---|
[Error] Class 'Mmit\Sfca\Googles\Google_Client' not found (0) /var/www/u1111111/data/www/SITE_NAME/bitrix/modules/mmit.sfca/lib/googles/googledata.php:10 #0: Mmit\Sfca\Googles\GoogleData::GetTestData() /var/www/u1111111/data/www/SITE_NAME/bitrix/components/mmit/sfca.context/class.php:40 #1: SfcaContext->executeComponent() /var/www/u1111111/data/www/SITE_NAME/bitrix/modules/main/classes/general/component.php:638 #2: CBitrixComponent->includeComponent(string, array, NULL) /var/www/u1111111/data/www/SITE_NAME/bitrix/modules/main/classes/general/main.php:1038 #3: CAllMain->IncludeComponent(string, string, array) /var/www/u1111111/data/www/SITE_NAME/servis/index.php:338 |
Без использования $client = new Google_Client(); все нормально отрабатывает.
Примечание:
Данная конструкция класса нормально отрабатывает если ее вызывать непосредственно в самом компоненте или на любой странице сайта.
Так же не получается подключить библиотеку через файл include.php в папке модуля, но даже если бы и получилось, такой вариант мня не устраивает, так как подключать библиотеку нужно только в определенных случаях.
Сама библиотека очень большая с большим количеством зависимостей, разделить ее не получится.
Предположительная проблема заключается в сборщике классов битрикса, потому как Mmit\Sfca\Googles\Google_Client непонятно как он это получает.