Перейти к содержимому

setContainer

Метод устанавливает PSR-11 совместимый контейнер (например, PHP-DI). Это позволяет внедрять ваши собственные сервисы (базы данных, логгеры, API-клиенты) в функции-обработчики ботов.

Автоматическое включение

Использование этого метода автоматически включает режим reflection().

Параметры

#НазваниеТипОписание
1containerContainerInterfaceОбъект, реализующий интерфейс Psr\Container\ContainerInterface.

Возвращает

Bot — экземпляр класса Bot.

Пример использования

php
// Предположим, у вас есть настроенный контейнер $container
$bot->setContainer($container);

$bot->onCommand('profile', '/profile')
    ->func(function (ZG $tg, DatabaseService $db, UserDto $user) {
        // $db будет автоматически взят из контейнера
        // $user будет автоматически создан из обновления
        $balance = $db->getUserBalance($user->id);
        $tg->msg("Ваш баланс: $balance")->send();
    });

Опубликовано под лицензией MIT.