diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php index 75a2fee4a5c6d..0b100673e23fc 100644 --- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php +++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php @@ -2693,104 +2693,104 @@ private function registerNotifierConfiguration(array $config, ContainerBuilder $ $container->registerForAutoconfiguration(NotifierTransportFactoryInterface::class) ->addTag('texter.transport_factory'); - $classToServices = [ - NotifierBridge\AllMySms\AllMySmsTransportFactory::class => 'notifier.transport_factory.all-my-sms', - NotifierBridge\AmazonSns\AmazonSnsTransportFactory::class => 'notifier.transport_factory.amazon-sns', - NotifierBridge\Bandwidth\BandwidthTransportFactory::class => 'notifier.transport_factory.bandwidth', - NotifierBridge\Bluesky\BlueskyTransportFactory::class => 'notifier.transport_factory.bluesky', - NotifierBridge\Brevo\BrevoTransportFactory::class => 'notifier.transport_factory.brevo', - NotifierBridge\Chatwork\ChatworkTransportFactory::class => 'notifier.transport_factory.chatwork', - NotifierBridge\Clickatell\ClickatellTransportFactory::class => 'notifier.transport_factory.clickatell', - NotifierBridge\ClickSend\ClickSendTransportFactory::class => 'notifier.transport_factory.click-send', - NotifierBridge\ContactEveryone\ContactEveryoneTransportFactory::class => 'notifier.transport_factory.contact-everyone', - NotifierBridge\Discord\DiscordTransportFactory::class => 'notifier.transport_factory.discord', - NotifierBridge\Engagespot\EngagespotTransportFactory::class => 'notifier.transport_factory.engagespot', - NotifierBridge\Esendex\EsendexTransportFactory::class => 'notifier.transport_factory.esendex', - NotifierBridge\Expo\ExpoTransportFactory::class => 'notifier.transport_factory.expo', - NotifierBridge\FakeChat\FakeChatTransportFactory::class => 'notifier.transport_factory.fake-chat', - NotifierBridge\FakeSms\FakeSmsTransportFactory::class => 'notifier.transport_factory.fake-sms', - NotifierBridge\Firebase\FirebaseTransportFactory::class => 'notifier.transport_factory.firebase', - NotifierBridge\FortySixElks\FortySixElksTransportFactory::class => 'notifier.transport_factory.forty-six-elks', - NotifierBridge\FreeMobile\FreeMobileTransportFactory::class => 'notifier.transport_factory.free-mobile', - NotifierBridge\GatewayApi\GatewayApiTransportFactory::class => 'notifier.transport_factory.gateway-api', - NotifierBridge\Gitter\GitterTransportFactory::class => 'notifier.transport_factory.gitter', - NotifierBridge\GoIp\GoIpTransportFactory::class => 'notifier.transport_factory.go-ip', - NotifierBridge\GoogleChat\GoogleChatTransportFactory::class => 'notifier.transport_factory.google-chat', - NotifierBridge\Infobip\InfobipTransportFactory::class => 'notifier.transport_factory.infobip', - NotifierBridge\Iqsms\IqsmsTransportFactory::class => 'notifier.transport_factory.iqsms', - NotifierBridge\Isendpro\IsendproTransportFactory::class => 'notifier.transport_factory.isendpro', - NotifierBridge\KazInfoTeh\KazInfoTehTransportFactory::class => 'notifier.transport_factory.kaz-info-teh', - NotifierBridge\LightSms\LightSmsTransportFactory::class => 'notifier.transport_factory.light-sms', - NotifierBridge\LineNotify\LineNotifyTransportFactory::class => 'notifier.transport_factory.line-notify', - NotifierBridge\LinkedIn\LinkedInTransportFactory::class => 'notifier.transport_factory.linked-in', - NotifierBridge\Mailjet\MailjetTransportFactory::class => 'notifier.transport_factory.mailjet', - NotifierBridge\Mastodon\MastodonTransportFactory::class => 'notifier.transport_factory.mastodon', - NotifierBridge\Mattermost\MattermostTransportFactory::class => 'notifier.transport_factory.mattermost', - NotifierBridge\Mercure\MercureTransportFactory::class => 'notifier.transport_factory.mercure', - NotifierBridge\MessageBird\MessageBirdTransport::class => 'notifier.transport_factory.message-bird', - NotifierBridge\MessageMedia\MessageMediaTransportFactory::class => 'notifier.transport_factory.message-media', - NotifierBridge\MicrosoftTeams\MicrosoftTeamsTransportFactory::class => 'notifier.transport_factory.microsoft-teams', - NotifierBridge\Mobyt\MobytTransportFactory::class => 'notifier.transport_factory.mobyt', - NotifierBridge\Novu\NovuTransportFactory::class => 'notifier.transport_factory.novu', - NotifierBridge\Ntfy\NtfyTransportFactory::class => 'notifier.transport_factory.ntfy', - NotifierBridge\Octopush\OctopushTransportFactory::class => 'notifier.transport_factory.octopush', - NotifierBridge\OneSignal\OneSignalTransportFactory::class => 'notifier.transport_factory.one-signal', - NotifierBridge\OrangeSms\OrangeSmsTransportFactory::class => 'notifier.transport_factory.orange-sms', - NotifierBridge\OvhCloud\OvhCloudTransportFactory::class => 'notifier.transport_factory.ovh-cloud', - NotifierBridge\PagerDuty\PagerDutyTransportFactory::class => 'notifier.transport_factory.pager-duty', - NotifierBridge\Plivo\PlivoTransportFactory::class => 'notifier.transport_factory.plivo', - NotifierBridge\Pushover\PushoverTransportFactory::class => 'notifier.transport_factory.pushover', - NotifierBridge\Redlink\RedlinkTransportFactory::class => 'notifier.transport_factory.redlink', - NotifierBridge\RingCentral\RingCentralTransportFactory::class => 'notifier.transport_factory.ring-central', - NotifierBridge\RocketChat\RocketChatTransportFactory::class => 'notifier.transport_factory.rocket-chat', - NotifierBridge\Sendberry\SendberryTransportFactory::class => 'notifier.transport_factory.sendberry', - NotifierBridge\SimpleTextin\SimpleTextinTransportFactory::class => 'notifier.transport_factory.simple-textin', - NotifierBridge\Sevenio\SevenIoTransportFactory::class => 'notifier.transport_factory.sevenio', - NotifierBridge\Sinch\SinchTransportFactory::class => 'notifier.transport_factory.sinch', - NotifierBridge\Slack\SlackTransportFactory::class => 'notifier.transport_factory.slack', - NotifierBridge\Sms77\Sms77TransportFactory::class => 'notifier.transport_factory.sms77', - NotifierBridge\Smsapi\SmsapiTransportFactory::class => 'notifier.transport_factory.smsapi', - NotifierBridge\SmsBiuras\SmsBiurasTransportFactory::class => 'notifier.transport_factory.sms-biuras', - NotifierBridge\Smsbox\SmsboxTransportFactory::class => 'notifier.transport_factory.smsbox', - NotifierBridge\Smsc\SmscTransportFactory::class => 'notifier.transport_factory.smsc', - NotifierBridge\SmsFactor\SmsFactorTransportFactory::class => 'notifier.transport_factory.sms-factor', - NotifierBridge\Smsmode\SmsmodeTransportFactory::class => 'notifier.transport_factory.smsmode', - NotifierBridge\SmsSluzba\SmsSluzbaTransportFactory::class => 'notifier.transport_factory.sms-sluzba', - NotifierBridge\SpotHit\SpotHitTransportFactory::class => 'notifier.transport_factory.spot-hit', - NotifierBridge\Telegram\TelegramTransportFactory::class => 'notifier.transport_factory.telegram', - NotifierBridge\Telnyx\TelnyxTransportFactory::class => 'notifier.transport_factory.telnyx', - NotifierBridge\Termii\TermiiTransportFactory::class => 'notifier.transport_factory.termii', - NotifierBridge\TurboSms\TurboSmsTransport::class => 'notifier.transport_factory.turbo-sms', - NotifierBridge\Twilio\TwilioTransportFactory::class => 'notifier.transport_factory.twilio', - NotifierBridge\Twitter\TwitterTransportFactory::class => 'notifier.transport_factory.twitter', - NotifierBridge\Unifonic\UnifonicTransportFactory::class => 'notifier.transport_factory.unifonic', - NotifierBridge\Vonage\VonageTransportFactory::class => 'notifier.transport_factory.vonage', - NotifierBridge\Yunpian\YunpianTransportFactory::class => 'notifier.transport_factory.yunpian', - NotifierBridge\Zendesk\ZendeskTransportFactory::class => 'notifier.transport_factory.zendesk', - NotifierBridge\Zulip\ZulipTransportFactory::class => 'notifier.transport_factory.zulip', + $transportFactories = [ + 'notifier.transport_factory.all-my-sms', + 'notifier.transport_factory.amazon-sns', + 'notifier.transport_factory.bandwidth', + 'notifier.transport_factory.bluesky', + 'notifier.transport_factory.brevo', + 'notifier.transport_factory.chatwork', + 'notifier.transport_factory.clickatell', + 'notifier.transport_factory.click-send', + 'notifier.transport_factory.contact-everyone', + 'notifier.transport_factory.discord', + 'notifier.transport_factory.engagespot', + 'notifier.transport_factory.esendex', + 'notifier.transport_factory.expo', + 'notifier.transport_factory.fake-chat', + 'notifier.transport_factory.fake-sms', + 'notifier.transport_factory.firebase', + 'notifier.transport_factory.forty-six-elks', + 'notifier.transport_factory.free-mobile', + 'notifier.transport_factory.gateway-api', + 'notifier.transport_factory.gitter', + 'notifier.transport_factory.go-ip', + 'notifier.transport_factory.google-chat', + 'notifier.transport_factory.infobip', + 'notifier.transport_factory.iqsms', + 'notifier.transport_factory.isendpro', + 'notifier.transport_factory.kaz-info-teh', + 'notifier.transport_factory.light-sms', + 'notifier.transport_factory.line-notify', + 'notifier.transport_factory.linked-in', + 'notifier.transport_factory.mailjet', + 'notifier.transport_factory.mastodon', + 'notifier.transport_factory.mattermost', + 'notifier.transport_factory.mercure', + 'notifier.transport_factory.message-bird', + 'notifier.transport_factory.message-media', + 'notifier.transport_factory.microsoft-teams', + 'notifier.transport_factory.mobyt', + 'notifier.transport_factory.novu', + 'notifier.transport_factory.ntfy', + 'notifier.transport_factory.octopush', + 'notifier.transport_factory.one-signal', + 'notifier.transport_factory.orange-sms', + 'notifier.transport_factory.ovh-cloud', + 'notifier.transport_factory.pager-duty', + 'notifier.transport_factory.plivo', + 'notifier.transport_factory.pushover', + 'notifier.transport_factory.redlink', + 'notifier.transport_factory.ring-central', + 'notifier.transport_factory.rocket-chat', + 'notifier.transport_factory.sendberry', + 'notifier.transport_factory.simple-textin', + 'notifier.transport_factory.sevenio', + 'notifier.transport_factory.sinch', + 'notifier.transport_factory.slack', + 'notifier.transport_factory.sms77', + 'notifier.transport_factory.smsapi', + 'notifier.transport_factory.sms-biuras', + 'notifier.transport_factory.smsbox', + 'notifier.transport_factory.smsc', + 'notifier.transport_factory.sms-factor', + 'notifier.transport_factory.smsmode', + 'notifier.transport_factory.sms-sluzba', + 'notifier.transport_factory.spot-hit', + 'notifier.transport_factory.telegram', + 'notifier.transport_factory.telnyx', + 'notifier.transport_factory.termii', + 'notifier.transport_factory.turbo-sms', + 'notifier.transport_factory.twilio', + 'notifier.transport_factory.twitter', + 'notifier.transport_factory.unifonic', + 'notifier.transport_factory.vonage', + 'notifier.transport_factory.yunpian', + 'notifier.transport_factory.zendesk', + 'notifier.transport_factory.zulip', ]; $parentPackages = ['symfony/framework-bundle', 'symfony/notifier']; - foreach ($classToServices as $class => $service) { + foreach ($transportFactories as $service) { $package = substr($service, \strlen('notifier.transport_factory.')); - if (!ContainerBuilder::willBeAvailable(sprintf('symfony/%s-notifier', $package), $class, $parentPackages)) { + if (!ContainerBuilder::willBeAvailable(sprintf('symfony/%s-notifier', $package), $container->getDefinition($service)->getClass(), $parentPackages)) { $container->removeDefinition($service); } } if (ContainerBuilder::willBeAvailable('symfony/mercure-notifier', NotifierBridge\Mercure\MercureTransportFactory::class, $parentPackages) && ContainerBuilder::willBeAvailable('symfony/mercure-bundle', MercureBundle::class, $parentPackages) && \in_array(MercureBundle::class, $container->getParameter('kernel.bundles'), true)) { - $container->getDefinition($classToServices[NotifierBridge\Mercure\MercureTransportFactory::class]) + $container->getDefinition('notifier.transport_factory.mercure') ->replaceArgument(0, new Reference(HubRegistry::class)) ->replaceArgument(1, new Reference('event_dispatcher', ContainerBuilder::NULL_ON_INVALID_REFERENCE)) ->addArgument(new Reference('http_client', ContainerBuilder::NULL_ON_INVALID_REFERENCE)); } elseif (ContainerBuilder::willBeAvailable('symfony/mercure-notifier', NotifierBridge\Mercure\MercureTransportFactory::class, $parentPackages)) { - $container->removeDefinition($classToServices[NotifierBridge\Mercure\MercureTransportFactory::class]); + $container->removeDefinition('notifier.transport_factory.mercure'); } if (ContainerBuilder::willBeAvailable('symfony/fake-chat-notifier', NotifierBridge\FakeChat\FakeChatTransportFactory::class, ['symfony/framework-bundle', 'symfony/notifier', 'symfony/mailer'])) { - $container->getDefinition($classToServices[NotifierBridge\FakeChat\FakeChatTransportFactory::class]) + $container->getDefinition('notifier.transport_factory.fake-chat') ->replaceArgument(0, new Reference('mailer')) ->replaceArgument(1, new Reference('logger')) ->addArgument(new Reference('event_dispatcher', ContainerBuilder::NULL_ON_INVALID_REFERENCE)) @@ -2798,7 +2798,7 @@ private function registerNotifierConfiguration(array $config, ContainerBuilder $ } if (ContainerBuilder::willBeAvailable('symfony/fake-sms-notifier', NotifierBridge\FakeSms\FakeSmsTransportFactory::class, ['symfony/framework-bundle', 'symfony/notifier', 'symfony/mailer'])) { - $container->getDefinition($classToServices[NotifierBridge\FakeSms\FakeSmsTransportFactory::class]) + $container->getDefinition('notifier.transport_factory.fake-sms') ->replaceArgument(0, new Reference('mailer')) ->replaceArgument(1, new Reference('logger')) ->addArgument(new Reference('event_dispatcher', ContainerBuilder::NULL_ON_INVALID_REFERENCE))