File tree 1 file changed +15
-2
lines changed
1 file changed +15
-2
lines changed Original file line number Diff line number Diff line change @@ -111,17 +111,30 @@ in the service subscriber::
111
111
can also manually add the ``container.service_subscriber `` tag.
112
112
113
113
The injected service is an instance of :class: `Symfony\\ Component\\ DependencyInjection\\ ServiceLocator `
114
- which implements both the PSR-11 ``ContainerInterface `` and :class: `Symfony\\ Contracts\\ Service\\ ServiceProviderInterface `.
115
- It is also a callable and a countable::
114
+ which implements the PSR-11 ``ContainerInterface ``, the
115
+ :class: `Symfony\\ Contracts\\ Service\\ ServiceProviderInterface ` and the
116
+ :class: `Symfony\\ Contracts\\ Service\\ ServiceCollectionInterface `. Because of
117
+ this, the locator is callable, countable and traversable::
116
118
117
119
// ...
118
120
$numberOfHandlers = count($this->locator);
119
121
$nameOfHandlers = array_keys($this->locator->getProvidedServices());
122
+
123
+ // you can iterate through all services of the locator
124
+ foreach ($this->locator as $serviceId => $service) {
125
+ // do something with the service, the service id or both
126
+ }
127
+
120
128
// ...
121
129
$handler = ($this->locator)($commandClass);
122
130
123
131
return $handler->handle($command);
124
132
133
+ .. versionadded :: 7.1
134
+
135
+ The :class: `Symfony\\ Contracts\\ Service\\ ServiceCollectionInterface `
136
+ was introduced in Symfony 7.1.
137
+
125
138
Including Services
126
139
------------------
127
140
You can’t perform that action at this time.
0 commit comments