W3cubDocs

/CakePHP 4.4

Interface ContainerInterface

Interface for the Dependency Injection Container in CakePHP applications

This interface extends the PSR-11 container interface and adds methods to add services and service providers to the container.

The methods defined in this interface use the conventions provided by league/container as that is the library that CakePHP uses.

Namespace: Cake\Core

Method Summary

Method Detail

add() public

add(string $id, mixed $concrete = null): DefinitionInterface

Parameters

string $id
$concrete optional

Returns

DefinitionInterface

addServiceProvider() public

addServiceProvider(ServiceProviderInterface $provider): self

Parameters

ServiceProviderInterface $provider

Returns

self

addShared() public

addShared(string $id, mixed $concrete = null): DefinitionInterface

Parameters

string $id
$concrete optional

Returns

DefinitionInterface

extend() public

extend(string $id): DefinitionInterface

Parameters

string $id

Returns

DefinitionInterface

get() public

get(string $id): mixed

Finds an entry of the container by its identifier and returns it.

Parameters

string $id

Identifier of the entry to look for.

Returns

mixed

Throws

NotFoundExceptionInterface
No entry was found for **this** identifier.
ContainerExceptionInterface
Error while retrieving the entry.

getNew() public

getNew(mixed $id)

Parameters

$id

has() public

has(string $id): bool

Returns true if the container can return an entry for the given identifier. Returns false otherwise.

has($id) returning true does not mean that get($id) will not throw an exception. It does however mean that get($id) will not throw a NotFoundExceptionInterface.

Parameters

string $id

Identifier of the entry to look for.

Returns

bool

inflector() public

inflector(string $type, callable $callback = null): InflectorInterface

Parameters

string $type
callable $callback optional

Returns

InflectorInterface

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.4/interface-Cake.Core.ContainerInterface.html