AggregateServiceProvider
in package
implements
ServiceProviderInterface
Aggregates multiple service providers into a single provider.
This class MUST be used to compose a unified list of factories and extensions from several ServiceProviderInterface implementations.
Factories and extensions returned by this class are merged in registration order.
Table of Contents
Interfaces
- ServiceProviderInterface
Methods
- __construct() : mixed
- Constructs the AggregateServiceProvider.
- getExtensions() : array<string, callable>
- Retrieves all service extensions from aggregated providers.
- getFactories() : array<string, callable>
- Retrieves all service factories from aggregated providers.
Methods
__construct()
Constructs the AggregateServiceProvider.
public
__construct(ServiceProviderInterface ...$serviceProviders) : mixed
Parameters
- $serviceProviders : ServiceProviderInterface
-
One or more service providers to aggregate.
getExtensions()
Retrieves all service extensions from aggregated providers.
public
getExtensions() : array<string, callable>
This method merges extensions from each provider. If multiple extensions exist for the same service ID, they are composed in the order they are added using nested closures.
Tags
Return values
array<string, callable> —an associative array of service extensions
getFactories()
Retrieves all service factories from aggregated providers.
public
getFactories() : array<string, callable>
This method merges the factories from each service provider into a single array. The factory for this class itself is added under the key of its class name.
Return values
array<string, callable> —an associative array of service factories