class Container

The dependency injection container default implementation.

Traits

Strict class for better experience.

Properties

array $parameters
protected string[] $types
protected string[] $aliases
protected array[] $tags
protected array[] $wiring

Methods

__construct(array $params = [])

No description

array
getParameters()

No description

addService(string $name, $service)

Adds the service to the container.

void
removeService(string $name)

Removes the service from the container.

object
getService(string $name)

Gets the service object by name.

string
getServiceType(string $name)

Gets the service type by name.

bool
hasService(string $name)

Does the service exist?

bool
isCreated(string $name)

Is the service created?

object
createService(string $name, array $args = [])

Creates new instance of the service.

object|null
getByType(string $type, bool $throw = true)

Resolves service by type.

array
findAutowired(string $type)

Gets the autowired service names of the specified type.

array
findByType(string $type)

Gets the service names of the specified type.

array
findByTag(string $tag)

Gets the service names of the specified tag.

object
createInstance(string $class, array $args = [])

Creates new instance using autowiring.

void
callInjects(object $service)

Calls all methods starting with with "inject" using autowiring.

mixed
callMethod(callable $function, array $args = [])

Calls method using autowiring.

static string
getMethodName(string $name)

No description

Details

at line 47
__construct(array $params = [])

Parameters

array $params

at line 54
array getParameters()

Return Value

array

at line 65
Container addService(string $name, $service)

Adds the service to the container.

Parameters

string $name
$service

Return Value

Container

at line 101
void removeService(string $name)

Removes the service from the container.

Parameters

string $name

Return Value

void

at line 113
object getService(string $name)

Gets the service object by name.

Parameters

string $name

Return Value

object

Exceptions

MissingServiceException

at line 129
string getServiceType(string $name)

Gets the service type by name.

Parameters

string $name

Return Value

string

Exceptions

MissingServiceException

at line 150
bool hasService(string $name)

Does the service exist?

Parameters

string $name

Return Value

bool

at line 160
bool isCreated(string $name)

Is the service created?

Parameters

string $name

Return Value

bool

at line 175
object createService(string $name, array $args = [])

Creates new instance of the service.

Parameters

string $name
array $args

Return Value

object

Exceptions

MissingServiceException

at line 209
object|null getByType(string $type, bool $throw = true)

Resolves service by type.

Parameters

string $type
bool $throw

Return Value

object|null service

Exceptions

MissingServiceException

at line 231
array findAutowired(string $type)

Gets the autowired service names of the specified type.

Parameters

string $type

Return Value

array

at line 242
array findByType(string $type)

Gets the service names of the specified type.

Parameters

string $type

Return Value

array

at line 255
array findByTag(string $tag)

Gets the service names of the specified tag.

Parameters

string $tag

Return Value

array of [service name => tag attributes]

at line 269
object createInstance(string $class, array $args = [])

Creates new instance using autowiring.

Parameters

string $class
array $args

Return Value

object

Exceptions

InvalidArgumentException

at line 289
void callInjects(object $service)

Calls all methods starting with with "inject" using autowiring.

Parameters

object $service

Return Value

void

at line 299
mixed callMethod(callable $function, array $args = [])

Calls method using autowiring.

Parameters

callable $function
array $args

Return Value

mixed

at line 305
static string getMethodName(string $name)

Parameters

string $name

Return Value

string