Size: a a a

2020 October 12

👤U

👤 User in symfony
public function __construct(
       [...]
       Telegram $telegramTest
   ) {
источник

👤U

👤 User in symfony
bind:
           $telegramTest: '@app.telegram.test'
источник

👤U

👤 User in symfony
Чтобы в основной сервис не срать, наверное пора импорт в ямле заюзать.
А если буду это некроподелие масштабировать до неизвестного количества инстансов с простой DI конфигурацией - впору писать бандл.
источник

👤U

👤 User in symfony
Чтоб в telegram.yaml только конфиги писать. А дальше оно разберется.
источник

👤U

👤 User in symfony
А если пойти дальше. Чисто теоретически. Создаем telegram.yaml. Там только конфиги от ботов.
Можно же субскрайбер запилить и динамически напихать в контейнер инстансов?
Или как-то упорото и придется все инстансы сразу создать, а не по вызову в целевом классе?
источник

👤U

👤 User in symfony
А. Ну или заменить yaml на php и там динамично все законфигурить. Но попахивает каким-то плохим кодом.
источник

D

Dmitry in symfony
имхо проще сделать TelegramConfig сервис куда запихать все конфиги а потом дернуть из него значение по ключу
источник

👤U

👤 User in symfony
Некрокласс желательно ваще не трогать.
источник

👤U

👤 User in symfony
Можно тогда факторию создать и из нее дергать по имени телеграммы.
источник

D

Dmitry in symfony
👤 User
Некрокласс желательно ваще не трогать.
вообще не вопрос, враппер над ним сделать
источник

D

Dmitry in symfony
👤 User
Можно тогда факторию создать и из нее дергать по имени телеграммы.
или так, если у вас есть имя телеграм бота
источник

👤U

👤 User in symfony
Да, имя безусловно есть
источник

D

Dmitry in symfony
ну тогда TelegramBotFactory::createFromName(name)
источник

D

Dmitry in symfony
и пусть оно внутри вам создаст нужный инстанс с нужными конфигами, а пачку конфигов фабрика получит на вход, например
источник

👤U

👤 User in symfony
Хм. Интересное поведение.
Вынес в отдельны yaml телеграмный конфиг.
services:
  _defaults:
     bind:
        $telegramTest: '@app.telegram.test'

  app.telegram.test:
источник

👤U

👤 User in symfony
but no corresponding argument has been found - Получил в консоль, что это вот все не смогло найти алиас
источник

👤U

👤 User in symfony
Разобрался в итоге.
Фактори построил.
А в вытянутом наружу telegram.yaml все идет по бороде из-за дефолтного:
App\:
       resource: '../src/*'
       exclude: '../src/{DependencyInjection,Entity,Tests,Kernel.php}'
источник

ПГ

Павел Г. in symfony
Приветствую еще раз. Использую подписчики событий, но судя по документации, для их автоподгрузки необходимо их располагать в  EventSubscriber директории. У меня структура проекта не такая, приходится прописывать каждый подписчик в services.yaml, что смотрится не очень.
Пробовал прописать  интерфейсу EventSubscriberInterface тег kernel.event_subscriber через _instanceof - не подхватываются подписчики. Пробовал вводить свой дополнительный интерфейс  и указывать этот тег - тоже не работает.  Через кернел добавлял тег интерфейсу - тоже мимо.
Как можно автоматизировать?
источник

ПГ

Павел Г. in symfony
Вопрос снимается, ответ появился после вопроса) Была отключена автозагрузка папки подписчиков...
источник

A

Andrei in symfony
Привет, подскажите пожалуйста почему не работает exclude в данном примере
config/routes/annotation.yaml
controllers:
   resource: ../../src/Controller/
   type: annotation
   exclude: '../../src/Controller/Admin/News/{NewsController}.php'
источник