class Container

The dependency injection container default implementation.

Properties

$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, object $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.

object
getByName(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 44
__construct(array $params = [])

No description

Parameters

array $params

at line 54
array getParameters()

No description

Return Value

array

at line 64
Container addService(string $name, object $service)

Adds the service to the container.

Parameters

string $name
object $service

service or its factory

Return Value

Container

at line 104
void removeService(string $name)

Removes the service from the container.

Parameters

string $name

Return Value

void

at line 115
object getService(string $name)

Gets the service object by name.

Parameters

string $name

Return Value

object

Exceptions

MissingServiceException

at line 133
object getByName(string $name)

Gets the service object by name.

Parameters

string $name

Return Value

object

Exceptions

MissingServiceException

at line 143
string getServiceType(string $name)

Gets the service type by name.

Parameters

string $name

Return Value

string

Exceptions

MissingServiceException

at line 164
bool hasService(string $name)

Does the service exist?

Parameters

string $name

Return Value

bool

at line 174
bool isCreated(string $name)

Is the service created?

Parameters

string $name

Return Value

bool

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

Creates new instance of the service.

Parameters

string $name
array $args

Return Value

object

Exceptions

MissingServiceException

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

Resolves service by type.

Parameters

string $type
bool $throw

Return Value

object|null

Exceptions

MissingServiceException

at line 270
array findAutowired(string $type)

internal  
 

Gets the autowired service names of the specified type.

Parameters

string $type

Return Value

array

at line 281
array findByType(string $type)

Gets the service names of the specified type.

Parameters

string $type

Return Value

array

at line 294
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 306
object createInstance(string $class, array $args = [])

Creates new instance using autowiring.

Parameters

string $class
array $args

Return Value

object

at line 326
void callInjects(object $service)

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

Parameters

object $service

Return Value

void

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

Calls method using autowiring.

Parameters

callable $function
array $args

Return Value

mixed

at line 349
static string getMethodName(string $name)

No description

Parameters

string $name

Return Value

string

Traits

SmartObject