RaDir, профессиональное и фэншуйное решение — разобраться в проблеме, а не подпереть её костылём, да ещё и таким уродливым.
Для начала замечу, что при package discovery, во-первых, порядком регистрации провайдеров управлять нельзя, во-вторых, они регистрируются раньше, чем все остальные провайдеры и какие сайд-эффекты ты можешь огрести в будущем — никто не знает.
Точно так же и порядок загрузки провайдеров не определён, из-за чего и возникает проблема — наверняка твой провайдер boot'ается раньше, чем системные/приложения.
Оно из некостыльных решений — регать свои роуты в коллбэке на событие booted приложения.
Кроме того, я считаю эту затею — «не трогать то, что было установлено фреймворком - ни конфиги, ни сервис провайдеры» — абсолютно глупой. Ты сам себе создаёшь проблемы и потом героически их решаешь.
RaDir, это следует из документации, что вариант с register не катит.
Твой провайдер загружается до или после RouteServiceProvider приложения? Раз ты такой фанатичный противник внесения изменений в конфиги, то полагаешься на package discovery?
RaDir, нет никакого смысла переопределять сервис-провайдер, переопределять надо сервисы, роуты, обсерверы, роут-паттерны и прочее, регистрируемое/задаваемое сервис-провайдером.
Непонятно, что ты собрался переопределять, какие родные сервисы и роуты (которые ларавел по умолчанию не регает, кстати).
Андрей Бойченко, теоретически, надо зарегать второй mailgun-драйвер в менеджер транспортов и потом подменять инстанс SwiftMailer новым, с этим транспортом.
Vasyl Fomin, т.е. заказчик понимает, что обрабатывать карточные данные у себя — это сразу PSI DSS с кучей требований, сертификацией, затратами и прочим?
Для начала замечу, что при package discovery, во-первых, порядком регистрации провайдеров управлять нельзя, во-вторых, они регистрируются раньше, чем все остальные провайдеры и какие сайд-эффекты ты можешь огрести в будущем — никто не знает.
Точно так же и порядок загрузки провайдеров не определён, из-за чего и возникает проблема — наверняка твой провайдер
boot
'ается раньше, чем системные/приложения.Оно из некостыльных решений — регать свои роуты в коллбэке на событие
booted
приложения.Кроме того, я считаю эту затею — «не трогать то, что было установлено фреймворком - ни конфиги, ни сервис провайдеры» — абсолютно глупой. Ты сам себе создаёшь проблемы и потом героически их решаешь.