Skip to content

Commit b99965d

Browse files
[FrameworkBundle] deprecate notifier service aliases that dont follow the convention
1 parent 80adbfa commit b99965d

File tree

3 files changed

+56
-49
lines changed

3 files changed

+56
-49
lines changed

DependencyInjection/FrameworkExtension.php

Lines changed: 17 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2486,42 +2486,42 @@ private function registerNotifierConfiguration(array $config, ContainerBuilder $
24862486

24872487
$classToServices = [
24882488
AllMySmsTransportFactory::class => 'notifier.transport_factory.all-my-sms',
2489-
AmazonSnsTransportFactory::class => 'notifier.transport_factory.amazonsns',
2489+
AmazonSnsTransportFactory::class => 'notifier.transport_factory.amazon-sns',
24902490
ClickatellTransportFactory::class => 'notifier.transport_factory.clickatell',
24912491
DiscordTransportFactory::class => 'notifier.transport_factory.discord',
24922492
EsendexTransportFactory::class => 'notifier.transport_factory.esendex',
24932493
ExpoTransportFactory::class => 'notifier.transport_factory.expo',
2494-
FakeChatTransportFactory::class => 'notifier.transport_factory.fakechat',
2495-
FakeSmsTransportFactory::class => 'notifier.transport_factory.fakesms',
2494+
FakeChatTransportFactory::class => 'notifier.transport_factory.fake-chat',
2495+
FakeSmsTransportFactory::class => 'notifier.transport_factory.fake-sms',
24962496
FirebaseTransportFactory::class => 'notifier.transport_factory.firebase',
2497-
FreeMobileTransportFactory::class => 'notifier.transport_factory.freemobile',
2497+
FreeMobileTransportFactory::class => 'notifier.transport_factory.free-mobile',
24982498
GatewayApiTransportFactory::class => 'notifier.transport_factory.gateway-api',
24992499
GitterTransportFactory::class => 'notifier.transport_factory.gitter',
2500-
GoogleChatTransportFactory::class => 'notifier.transport_factory.googlechat',
2500+
GoogleChatTransportFactory::class => 'notifier.transport_factory.google-chat',
25012501
InfobipTransportFactory::class => 'notifier.transport_factory.infobip',
25022502
IqsmsTransportFactory::class => 'notifier.transport_factory.iqsms',
2503-
LightSmsTransportFactory::class => 'notifier.transport_factory.lightsms',
2504-
LinkedInTransportFactory::class => 'notifier.transport_factory.linkedin',
2503+
LightSmsTransportFactory::class => 'notifier.transport_factory.light-sms',
2504+
LinkedInTransportFactory::class => 'notifier.transport_factory.linked-in',
25052505
MailjetNotifierTransportFactory::class => 'notifier.transport_factory.mailjet',
25062506
MattermostTransportFactory::class => 'notifier.transport_factory.mattermost',
25072507
MercureTransportFactory::class => 'notifier.transport_factory.mercure',
2508-
MessageBirdTransport::class => 'notifier.transport_factory.messagebird',
2509-
MessageMediaTransportFactory::class => 'notifier.transport_factory.messagemedia',
2510-
MicrosoftTeamsTransportFactory::class => 'notifier.transport_factory.microsoftteams',
2508+
MessageBirdTransport::class => 'notifier.transport_factory.message-bird',
2509+
MessageMediaTransportFactory::class => 'notifier.transport_factory.message-media',
2510+
MicrosoftTeamsTransportFactory::class => 'notifier.transport_factory.microsoft-teams',
25112511
MobytTransportFactory::class => 'notifier.transport_factory.mobyt',
25122512
NexmoTransportFactory::class => 'notifier.transport_factory.nexmo',
25132513
OctopushTransportFactory::class => 'notifier.transport_factory.octopush',
2514-
OneSignalTransportFactory::class => 'notifier.transport_factory.onesignal',
2515-
OvhCloudTransportFactory::class => 'notifier.transport_factory.ovhcloud',
2516-
RocketChatTransportFactory::class => 'notifier.transport_factory.rocketchat',
2514+
OneSignalTransportFactory::class => 'notifier.transport_factory.one-signal',
2515+
OvhCloudTransportFactory::class => 'notifier.transport_factory.ovh-cloud',
2516+
RocketChatTransportFactory::class => 'notifier.transport_factory.rocket-chat',
25172517
SendinblueNotifierTransportFactory::class => 'notifier.transport_factory.sendinblue',
25182518
SinchTransportFactory::class => 'notifier.transport_factory.sinch',
25192519
SlackTransportFactory::class => 'notifier.transport_factory.slack',
25202520
Sms77TransportFactory::class => 'notifier.transport_factory.sms77',
25212521
SmsapiTransportFactory::class => 'notifier.transport_factory.smsapi',
2522-
SmsBiurasTransportFactory::class => 'notifier.transport_factory.smsbiuras',
2522+
SmsBiurasTransportFactory::class => 'notifier.transport_factory.sms-biuras',
25232523
SmscTransportFactory::class => 'notifier.transport_factory.smsc',
2524-
SpotHitTransportFactory::class => 'notifier.transport_factory.spothit',
2524+
SpotHitTransportFactory::class => 'notifier.transport_factory.spot-hit',
25252525
TelegramTransportFactory::class => 'notifier.transport_factory.telegram',
25262526
TelnyxTransportFactory::class => 'notifier.transport_factory.telnyx',
25272527
TurboSmsTransport::class => 'notifier.transport_factory.turbo-sms',
@@ -2533,27 +2533,11 @@ private function registerNotifierConfiguration(array $config, ContainerBuilder $
25332533
$parentPackages = ['symfony/framework-bundle', 'symfony/notifier'];
25342534

25352535
foreach ($classToServices as $class => $service) {
2536-
switch ($package = substr($service, \strlen('notifier.transport_factory.'))) {
2537-
case 'amazonsns': $package = 'amazon-sns'; break;
2538-
case 'fakechat': $package = 'fake-chat'; break;
2539-
case 'fakesms': $package = 'fake-sms'; break;
2540-
case 'freemobile': $package = 'free-mobile'; break;
2541-
case 'googlechat': $package = 'google-chat'; break;
2542-
case 'lightsms': $package = 'light-sms'; break;
2543-
case 'linkedin': $package = 'linked-in'; break;
2544-
case 'messagebird': $package = 'message-bird'; break;
2545-
case 'messagemedia': $package = 'message-media'; break;
2546-
case 'microsoftteams': $package = 'microsoft-teams'; break;
2547-
case 'onesignal': $package = 'one-signal'; break;
2548-
case 'ovhcloud': $package = 'ovh-cloud'; break;
2549-
case 'rocketchat': $package = 'rocket-chat'; break;
2550-
case 'smsbiuras': $package = 'sms-biuras'; break;
2551-
case 'spothit': $package = 'spot-hit'; break;
2552-
case 'turbosms': $package = 'turbo-sms'; break;
2553-
}
2536+
$package = substr($service, \strlen('notifier.transport_factory.'));
25542537

25552538
if (!ContainerBuilder::willBeAvailable(sprintf('symfony/%s-notifier', $package), $class, $parentPackages, true)) {
25562539
$container->removeDefinition($service);
2540+
$container->removeAlias(str_replace('-', '', $service)); // @deprecated to be removed in 6.0
25572541
}
25582542
}
25592543

Resources/config/notifier_transports.php

Lines changed: 38 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,29 @@
5959

6060
return static function (ContainerConfigurator $container) {
6161
$container->services()
62+
->alias('notifier.transport_factory.fakechat', 'notifier.transport_factory.fake-chat')
63+
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.fake-chat" instead.')
64+
->alias('notifier.transport_factory.fakesms', 'notifier.transport_factory.fake-sms')
65+
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.fake-sms" instead.')
66+
->alias('notifier.transport_factory.freemobile', 'notifier.transport_factory.free-mobile')
67+
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.free-mobile" instead.')
68+
->alias('notifier.transport_factory.googlechat', 'notifier.transport_factory.google-chat')
69+
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.google-chat" instead.')
70+
->alias('notifier.transport_factory.lightsms', 'notifier.transport_factory.light-sms')
71+
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.light-sms" instead.')
72+
->alias('notifier.transport_factory.linkedin', 'notifier.transport_factory.linked-in')
73+
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.linked-in" instead.')
74+
->alias('notifier.transport_factory.microsoftteams', 'notifier.transport_factory.microsoft-teams')
75+
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.microsoft-teams" instead.')
76+
->alias('notifier.transport_factory.onesignal', 'notifier.transport_factory.one-signal')
77+
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.one-signal" instead.')
78+
->alias('notifier.transport_factory.ovhcloud', 'notifier.transport_factory.ovh-cloud')
79+
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.ovh-cloud" instead.')
80+
->alias('notifier.transport_factory.rocketchat', 'notifier.transport_factory.rocket-chat')
81+
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.rocket-chat" instead.')
82+
->alias('notifier.transport_factory.spothit', 'notifier.transport_factory.spot-hit')
83+
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.spot-hit" instead.')
84+
6285
->set('notifier.transport_factory.abstract', AbstractTransportFactory::class)
6386
->abstract()
6487
->args([service('event_dispatcher'), service('http_client')->ignoreOnInvalid()])
@@ -67,7 +90,7 @@
6790
->parent('notifier.transport_factory.abstract')
6891
->tag('chatter.transport_factory')
6992

70-
->set('notifier.transport_factory.linkedin', LinkedInTransportFactory::class)
93+
->set('notifier.transport_factory.linked-in', LinkedInTransportFactory::class)
7194
->parent('notifier.transport_factory.abstract')
7295
->tag('chatter.transport_factory')
7396

@@ -83,11 +106,11 @@
83106
->parent('notifier.transport_factory.abstract')
84107
->tag('texter.transport_factory')
85108

86-
->set('notifier.transport_factory.rocketchat', RocketChatTransportFactory::class)
109+
->set('notifier.transport_factory.rocket-chat', RocketChatTransportFactory::class)
87110
->parent('notifier.transport_factory.abstract')
88111
->tag('chatter.transport_factory')
89112

90-
->set('notifier.transport_factory.googlechat', GoogleChatTransportFactory::class)
113+
->set('notifier.transport_factory.google-chat', GoogleChatTransportFactory::class)
91114
->parent('notifier.transport_factory.abstract')
92115
->tag('chatter.transport_factory')
93116

@@ -103,23 +126,23 @@
103126
->parent('notifier.transport_factory.abstract')
104127
->tag('chatter.transport_factory')
105128

106-
->set('notifier.transport_factory.freemobile', FreeMobileTransportFactory::class)
129+
->set('notifier.transport_factory.free-mobile', FreeMobileTransportFactory::class)
107130
->parent('notifier.transport_factory.abstract')
108131
->tag('texter.transport_factory')
109132

110-
->set('notifier.transport_factory.spothit', SpotHitTransportFactory::class)
133+
->set('notifier.transport_factory.spot-hit', SpotHitTransportFactory::class)
111134
->parent('notifier.transport_factory.abstract')
112135
->tag('texter.transport_factory')
113136

114-
->set('notifier.transport_factory.fakechat', FakeChatTransportFactory::class)
137+
->set('notifier.transport_factory.fake-chat', FakeChatTransportFactory::class)
115138
->parent('notifier.transport_factory.abstract')
116139
->tag('chatter.transport_factory')
117140

118-
->set('notifier.transport_factory.fakesms', FakeSmsTransportFactory::class)
141+
->set('notifier.transport_factory.fake-sms', FakeSmsTransportFactory::class)
119142
->parent('notifier.transport_factory.abstract')
120143
->tag('texter.transport_factory')
121144

122-
->set('notifier.transport_factory.ovhcloud', OvhCloudTransportFactory::class)
145+
->set('notifier.transport_factory.ovh-cloud', OvhCloudTransportFactory::class)
123146
->parent('notifier.transport_factory.abstract')
124147
->tag('texter.transport_factory')
125148

@@ -163,7 +186,7 @@
163186
->parent('notifier.transport_factory.abstract')
164187
->tag('chatter.transport_factory')
165188

166-
->set('notifier.transport_factory.microsoftteams', MicrosoftTeamsTransportFactory::class)
189+
->set('notifier.transport_factory.microsoft-teams', MicrosoftTeamsTransportFactory::class)
167190
->parent('notifier.transport_factory.abstract')
168191
->tag('chatter.transport_factory')
169192

@@ -183,7 +206,7 @@
183206
->parent('notifier.transport_factory.abstract')
184207
->tag('texter.transport_factory')
185208

186-
->set('notifier.transport_factory.amazonsns', AmazonSnsTransportFactory::class)
209+
->set('notifier.transport_factory.amazon-sns', AmazonSnsTransportFactory::class)
187210
->parent('notifier.transport_factory.abstract')
188211
->tag('texter.transport_factory')
189212
->tag('chatter.transport_factory')
@@ -193,23 +216,23 @@
193216
->tag('chatter.transport_factory')
194217
->tag('texter.transport_factory')
195218

196-
->set('notifier.transport_factory.lightsms', LightSmsTransportFactory::class)
219+
->set('notifier.transport_factory.light-sms', LightSmsTransportFactory::class)
197220
->parent('notifier.transport_factory.abstract')
198221
->tag('texter.transport_factory')
199222

200-
->set('notifier.transport_factory.smsbiuras', SmsBiurasTransportFactory::class)
223+
->set('notifier.transport_factory.sms-biuras', SmsBiurasTransportFactory::class)
201224
->parent('notifier.transport_factory.abstract')
202225
->tag('texter.transport_factory')
203226

204227
->set('notifier.transport_factory.smsc', SmscTransportFactory::class)
205228
->parent('notifier.transport_factory.abstract')
206229
->tag('texter.transport_factory')
207230

208-
->set('notifier.transport_factory.messagebird', MessageBirdTransportFactory::class)
231+
->set('notifier.transport_factory.message-bird', MessageBirdTransportFactory::class)
209232
->parent('notifier.transport_factory.abstract')
210233
->tag('texter.transport_factory')
211234

212-
->set('notifier.transport_factory.messagemedia', MessageMediaTransportFactory::class)
235+
->set('notifier.transport_factory.message-media', MessageMediaTransportFactory::class)
213236
->parent('notifier.transport_factory.abstract')
214237
->tag('texter.transport_factory')
215238

@@ -233,7 +256,7 @@
233256
->parent('notifier.transport_factory.abstract')
234257
->tag('texter.transport_factory')
235258

236-
->set('notifier.transport_factory.onesignal', OneSignalTransportFactory::class)
259+
->set('notifier.transport_factory.one-signal', OneSignalTransportFactory::class)
237260
->parent('notifier.transport_factory.abstract')
238261
->tag('texter.transport_factory')
239262

Tests/DependencyInjection/FrameworkExtensionTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1984,7 +1984,7 @@ public function testIfNotifierTransportsAreKnownByFrameworkExtension()
19841984
$container = $this->createContainerFromFile('notifier');
19851985

19861986
foreach ((new Finder())->in(\dirname(__DIR__, 4).'/Component/Notifier/Bridge')->directories()->depth(0)->exclude('Mercure') as $bridgeDirectory) {
1987-
$transportFactoryName = strtolower($bridgeDirectory->getFilename());
1987+
$transportFactoryName = strtolower(preg_replace('/(.)([A-Z])/', '$1-$2', $bridgeDirectory->getFilename()));
19881988
$this->assertTrue($container->hasDefinition('notifier.transport_factory.'.$transportFactoryName), sprintf('Did you forget to add the TransportFactory: "%s" to the $classToServices array in the FrameworkBundleExtension?', $bridgeDirectory->getFilename()));
19891989
}
19901990
}

0 commit comments

Comments
 (0)