Class ServiceProvider
Container ServiceProvider
Service provider bundle related services together helping to organize your application's dependencies. They also help improve performance of applications with many services by allowing service registration to be deferred until services are needed.
Property Summary
-
$container protected
?DefinitionContainerInterface
-
$identifier protected
string
-
$provides protected
array<string>
List of ids of services this provider provides.
Method Summary
-
boot() public
Delegate to the bootstrap() method
-
bootstrap() public
Bootstrap hook for ServiceProviders
-
getContainer() public
Get the container.
-
getIdentifier() public
-
provides() public
The provides method is a way to let the container know that a service is provided by this service provider.
-
register() public
Call the abstract services() method.
-
services() abstract public
Register the services in a provider.
-
setContainer() public
-
setIdentifier() public
Method Detail
boot() ¶ public
boot(): void
Delegate to the bootstrap() method
This method wraps the league/container function so users only need to use the CakePHP bootstrap() interface.
Returns
void
bootstrap() ¶ public
bootstrap(Cake\Core\ContainerInterface $container): void
Bootstrap hook for ServiceProviders
This hook should be implemented if your service provider needs to register additional service providers, load configuration files or do any other work when the service provider is added to the container.
Parameters
-
Cake\Core\ContainerInterface
$container The container to add services to.
Returns
void
getContainer() ¶ public
getContainer(): Cake\Core\ContainerInterface
Get the container.
This method's actual return type and documented return type differ because PHP 7.2 doesn't support return type narrowing.
Returns
Cake\Core\ContainerInterface
provides() ¶ public
provides(string $id): bool
The provides method is a way to let the container know that a service is provided by this service provider.
Every service that is registered via this service provider must have an alias added to this array or it will be ignored.
Parameters
-
string
$id Identifier.
Returns
bool
register() ¶ public
register(): void
Call the abstract services() method.
This method primarily exists as a shim between the interface that league/container has and the one we want to offer in CakePHP.
Returns
void
services() ¶ abstract public
services(Cake\Core\ContainerInterface $container): void
Register the services in a provider.
All services registered in this method should also be included in the $provides property so that services can be located.
Parameters
-
Cake\Core\ContainerInterface
$container The container to add services to.
Returns
void
setContainer() ¶ public
setContainer(DefinitionContainerInterface $container): ContainerAwareInterface
Parameters
-
DefinitionContainerInterface
$container
Returns
ContainerAwareInterface
setIdentifier() ¶ public
setIdentifier(string $id): ServiceProviderInterface
Parameters
-
string
$id
Returns
ServiceProviderInterface