CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Reporting Security Issues
    • Privacy Policy
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Get Involved
    • Issues (Github)
    • Bakery
    • Featured Resources
    • Training
    • Meetups
    • My CakePHP
    • CakeFest
    • Newsletter
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C CakePHP 4.2 Strawberry API

  • Project:
    • CakePHP
      • CakePHP
      • Authentication
      • Authorization
      • Chronos
      • Elastic Search
      • Queue
  • Version:
    • 4.2
      • 5.2
      • 5.1
      • 5.0
      • 4.6
      • 4.5
      • 4.4
      • 4.3
      • 4.2
      • 4.1
      • 4.0
      • 3.10
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Namespaces

  • Global
  • Cake
    • Auth
    • Cache
    • Collection
    • Command
    • Console
    • Controller
    • Core
      • Configure
      • Exception
      • Retry
    • Database
    • Datasource
    • Error
    • Event
    • Filesystem
    • Form
    • Http
    • I18n
    • Log
    • Mailer
    • Network
    • ORM
    • Routing
    • Shell
    • TestSuite
    • Utility
    • Validation
    • View

Class Container

Dependency Injection container

Based on the container out of League\Container

Namespace: Cake\Core
Experimental: Expect API changes in minor releases.

Property Summary

  • $defaultToShared protected
    boolean
  • $definitions protected
    DefinitionAggregateInterface
  • $delegates protected
    ContainerInterface[]
  • $inflectors protected
    InflectorAggregateInterface
  • $providers protected
    ServiceProviderAggregateInterface

Method Summary

  • __construct() public

    Construct.

  • add() public

    Add an item to the container.

  • addServiceProvider() public

    Add a service provider to the container

  • defaultToShared() public

    Whether the container should default to defining shared definitions.

  • delegate() public

    Delegate a backup container to be checked for services if it cannot be resolved via this container.

  • extend() public

    Modify an existing definition

  • get() public

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

  • has() public

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

  • inflector() public

    Allows for manipulation of specific types on resolution.

  • share() public

    Proxy to add with shared as true.

Method Detail

__construct() ¶ public

__construct(DefinitionAggregateInterface|null $definitions = null, ServiceProviderAggregateInterface|null $providers = null, InflectorAggregateInterface|null $inflectors = null)

Construct.

Parameters
DefinitionAggregateInterface|null $definitions optional
ServiceProviderAggregateInterface|null $providers optional
InflectorAggregateInterface|null $inflectors optional

add() ¶ public

add(string $id, mixed $concrete = null, boolean $shared = false): League\Container\Definition\DefinitionInterface

Add an item to the container.

Parameters
string $id

The class name or name of the service being registered.

mixed $concrete optional

Either the classname an interface or name resolves to. Can also be a constructed object, Closure, or null. When null, the $id parameter will be used as the concrete class name.

boolean $shared optional

Set to true to make a service shared.

Returns
League\Container\Definition\DefinitionInterface

addServiceProvider() ¶ public

addServiceProvider(ServiceProviderInterface|string $provider): $this

Add a service provider to the container

Parameters
ServiceProviderInterface|string $provider

The service provider to add.

Returns
$this

defaultToShared() ¶ public

defaultToShared(boolean $shared = true): self

Whether the container should default to defining shared definitions.

Parameters
boolean $shared optional
Returns
self

delegate() ¶ public

delegate(ContainerInterface $container): self

Delegate a backup container to be checked for services if it cannot be resolved via this container.

Parameters
ContainerInterface $container
Returns
self

extend() ¶ public

extend(string $id): League\Container\Definition\DefinitionInterface

Modify an existing definition

Parameters
string $id

The class name or name of the service being modified.

Returns
League\Container\Definition\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.

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|null $callback = null): InflectorInterface

Allows for manipulation of specific types on resolution.

Parameters
string $type
callable|null $callback optional
Returns
InflectorInterface

share() ¶ public

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

Proxy to add with shared as true.

Parameters
string $id
mixed $concrete optional
Returns
DefinitionInterface

Property Detail

$defaultToShared ¶ protected

Type
boolean

$definitions ¶ protected

Type
DefinitionAggregateInterface

$delegates ¶ protected

Type
ContainerInterface[]

$inflectors ¶ protected

Type
InflectorAggregateInterface

$providers ¶ protected

Type
ServiceProviderAggregateInterface
OpenHub
Pingping
Linode
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Reporting Security Issues
  • Privacy Policy
  • Logos & Trademarks
  • Community
  • Get Involved
  • Issues (Github)
  • Bakery
  • Featured Resources
  • Training
  • Meetups
  • My CakePHP
  • CakeFest
  • Newsletter
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • Help & Support
  • Forum
  • Stack Overflow
  • IRC
  • Slack
  • Paid Support

Generated using CakePHP API Docs