---
title: "Phalcon Container"
version: "5.20"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.phalcon.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Phalcon Container

:::info[NOTE]
All classes are prefixed with `Phalcon`
:::

## Container\Container

Class

- **`Phalcon\Container\Container`** - implements [`Phalcon\Contracts\Container\Service\Collection`](/5.20/api/phalcon_contracts/#contractscontainerservicecollection), [`Phalcon\Contracts\Container\Service\Enumerable`](/5.20/api/phalcon_contracts/#contractscontainerserviceenumerable)

`Closure` · `Phalcon\Container\Definition\Processor\ClosureProcessor` · `Phalcon\Container\Definition\Processor\ObjectProcessor` · `Phalcon\Container\Definition\Processor\Processor` · `Phalcon\Container\Definition\Processor\StringProcessor` · `Phalcon\Container\Definition\ServiceDefinition` · `Phalcon\Container\Definition\ServiceLifetime` · `Phalcon\Container\Exceptions\CannotExtendResolved` · `Phalcon\Container\Exceptions\CircularAliasFound` · `Phalcon\Container\Exceptions\InstanceNotFound` · `Phalcon\Container\Exceptions\NoProcessorFound` · `Phalcon\Container\Exceptions\ParameterNotFound` · `Phalcon\Container\Exceptions\ServiceNotFound` · `Phalcon\Container\Exceptions\ServiceNotRegistered` · `Phalcon\Container\Resolver\Lazy\Lazy` · `Phalcon\Container\Resolver\Resolver` · `Phalcon\Contracts\Container\ContainerTypes` · `Phalcon\Contracts\Container\Service\Collection` · `Phalcon\Contracts\Container\Service\Enumerable` · `Phalcon\Di\InjectionAwareInterface` · `ReflectionException`

### Method Summary

<ApiItem href="#containercontainer-__construct" visibility="public" name="__construct" returnType="" params={[]}>
</ApiItem>
<ApiItem href="#containercontainer-bind" visibility="public" name="bind" returnType="ServiceDefinition" params={[{"type":"string","name":"interfaceName","default":null},{"type":"string","name":"concrete","default":null}]}>
Bind an interface to a concrete class
</ApiItem>
<ApiItem href="#containercontainer-callableget" visibility="public" name="callableGet" returnType="Closure" params={[{"type":"string","name":"name","default":null}]}>
Resolve to a closure on a get()
</ApiItem>
<ApiItem href="#containercontainer-callablenew" visibility="public" name="callableNew" returnType="Closure" params={[{"type":"string","name":"name","default":null}]}>
Resolve to a closure on a new()
</ApiItem>
<ApiItem href="#containercontainer-extend" visibility="public" name="extend" returnType="void" params={[{"type":"string","name":"name","default":null},{"type":"callable","name":"callableObject","default":null}]}>
Extends the definition
</ApiItem>
<ApiItem href="#containercontainer-get" visibility="public" name="get" returnType="mixed" params={[{"type":"string","name":"name","default":null}]}>
Resolve and return an element registerd in the container
</ApiItem>
<ApiItem href="#containercontainer-getalias" visibility="public" name="getAlias" returnType="string" params={[{"type":"string","name":"name","default":null}]}>
Return an alias
</ApiItem>
<ApiItem href="#containercontainer-getbytag" visibility="public" name="getByTag" returnType="array" params={[{"type":"string","name":"tag","default":null}]}>
Return services by tag
</ApiItem>
<ApiItem href="#containercontainer-getdefinition" visibility="public" name="getDefinition" returnType="ServiceDefinition" params={[{"type":"string","name":"name","default":null}]}>
Return the service definition
</ApiItem>
<ApiItem href="#containercontainer-getinstance" visibility="public" name="getInstance" returnType="object" params={[{"type":"string","name":"name","default":null}]}>
Return a stored instance
</ApiItem>
<ApiItem href="#containercontainer-getparameter" visibility="public" name="getParameter" returnType="mixed" params={[{"type":"string","name":"name","default":null}]}>
Return a parameter
</ApiItem>
<ApiItem href="#containercontainer-getresolver" visibility="public" name="getResolver" returnType="Resolver" params={[]}>
Return the resolver
</ApiItem>
<ApiItem href="#containercontainer-getservice" visibility="public" name="getService" returnType="object" params={[{"type":"string","name":"serviceName","default":null}]}>
Resolve an return a service
</ApiItem>
<ApiItem href="#containercontainer-getservicenames" visibility="public" name="getServiceNames" returnType="array" params={[]}>
Returns the names of every registered service definition. Names that
</ApiItem>
<ApiItem href="#containercontainer-has" visibility="public" name="has" returnType="bool" params={[{"type":"string","name":"name","default":null}]}>
Does the container have a particular service
</ApiItem>
<ApiItem href="#containercontainer-hasalias" visibility="public" name="hasAlias" returnType="bool" params={[{"type":"string","name":"name","default":null}]}>
Does the service have an alias
</ApiItem>
<ApiItem href="#containercontainer-hasdefinition" visibility="public" name="hasDefinition" returnType="bool" params={[{"type":"string","name":"name","default":null}]}>
Does the service have a definition
</ApiItem>
<ApiItem href="#containercontainer-hasinstance" visibility="public" name="hasInstance" returnType="bool" params={[{"type":"string","name":"name","default":null}]}>
Does the service have an instance
</ApiItem>
<ApiItem href="#containercontainer-hasparameter" visibility="public" name="hasParameter" returnType="bool" params={[{"type":"string","name":"name","default":null}]}>
Does the service have a parameter
</ApiItem>
<ApiItem href="#containercontainer-hasservice" visibility="public" name="hasService" returnType="bool" params={[{"type":"string","name":"serviceName","default":null}]}>
Does the container have a particular service
</ApiItem>
<ApiItem href="#containercontainer-isautowireenabled" visibility="public" name="isAutowireEnabled" returnType="bool" params={[]}>
Is AutoWiring enabled
</ApiItem>
<ApiItem href="#containercontainer-new" visibility="public" name="new" returnType="mixed" params={[{"type":"string","name":"name","default":null}]}>
Resolve and return a new service
</ApiItem>
<ApiItem href="#containercontainer-newdefinition" visibility="public" name="newDefinition" returnType="ServiceDefinition" params={[{"type":"string","name":"name","default":null}]}>
Return a new service definition
</ApiItem>
<ApiItem href="#containercontainer-set" visibility="public" name="set" returnType="ServiceDefinition" params={[{"type":"string","name":"name","default":null},{"type":"mixed","name":"definition","default":null}]}>
Set a service
</ApiItem>
<ApiItem href="#containercontainer-setalias" visibility="public" name="setAlias" returnType="static" params={[{"type":"string","name":"name","default":null},{"type":"string","name":"alias","default":null}]}>
Set an alias
</ApiItem>
<ApiItem href="#containercontainer-setautowire" visibility="public" name="setAutowire" returnType="static" params={[{"type":"bool","name":"enabled","default":null}]}>
Set AutoWire
</ApiItem>
<ApiItem href="#containercontainer-setdefinition" visibility="public" name="setDefinition" returnType="static" params={[{"type":"string","name":"name","default":null},{"type":"ServiceDefinition","name":"definition","default":null}]}>
Set a definition
</ApiItem>
<ApiItem href="#containercontainer-setinstance" visibility="public" name="setInstance" returnType="static" params={[{"type":"string","name":"name","default":null},{"type":"object","name":"instance","default":null},{"type":"string","name":"lifetime","default":null}]}>
Set an instance
</ApiItem>
<ApiItem href="#containercontainer-setparameter" visibility="public" name="setParameter" returnType="static" params={[{"type":"string","name":"name","default":null},{"type":"mixed","name":"value","default":null}]}>
Set a parameter
</ApiItem>
<ApiItem href="#containercontainer-settag" visibility="public" name="setTag" returnType="void" params={[{"type":"string","name":"tag","default":null},{"type":"string","name":"serviceName","default":null}]}>
Register a tag with a service
</ApiItem>
<ApiItem href="#containercontainer-unsetalias" visibility="public" name="unsetAlias" returnType="void" params={[{"type":"string","name":"name","default":null}]}>
Remove an alias
</ApiItem>
<ApiItem href="#containercontainer-unsetdefinition" visibility="public" name="unsetDefinition" returnType="void" params={[{"type":"string","name":"name","default":null}]}>
Remove a definition
</ApiItem>
<ApiItem href="#containercontainer-unsetinstance" visibility="public" name="unsetInstance" returnType="void" params={[{"type":"string","name":"name","default":null}]}>
Remove an instance
</ApiItem>
<ApiItem href="#containercontainer-unsetinstances" visibility="public" name="unsetInstances" returnType="void" params={[{"type":"string","name":"lifetime","default":null}]}>
Remove instances based on lifetime
</ApiItem>
<ApiItem href="#containercontainer-unsetparameter" visibility="public" name="unsetParameter" returnType="void" params={[{"type":"string","name":"name","default":null}]}>
Remove a parameter
</ApiItem>

### Properties

<ApiItem kind="property" visibility="protected" name="aliases" type="array" default="[]">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="autowire" type="bool" default="true">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="instanceLifetimes" type="array" default="[]">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="instances" type="array" default="[]">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="parameters" type="array" default="[]">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="processors" type="array" default="[]">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="resolver" type="Resolver" default="">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="services" type="array" default="[]">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="tags" type="array" default="[]">
</ApiItem>

### Methods

<h4 id="containercontainer-__construct"><code>__construct()</code></h4>

```php
public function __construct();
```

<h4 id="containercontainer-bind"><code>bind()</code></h4>

```php
public function bind(
string $interfaceName,
string $concrete
): ServiceDefinition;
```

Bind an interface to a concrete class

<h4 id="containercontainer-callableget"><code>callableGet()</code></h4>

```php
public function callableGet( string $name ): Closure;
```

Resolve to a closure on a get()

<h4 id="containercontainer-callablenew"><code>callableNew()</code></h4>

```php
public function callableNew( string $name ): Closure;
```

Resolve to a closure on a new()

<h4 id="containercontainer-extend"><code>extend()</code></h4>

```php
public function extend(
string $name,
callable $callableObject
): void;
```

Extends the definition

<h4 id="containercontainer-get"><code>get()</code></h4>

```php
public function get( string $name ): mixed;
```

Resolve and return an element registerd in the container

<h4 id="containercontainer-getalias"><code>getAlias()</code></h4>

```php
public function getAlias( string $name ): string;
```

Return an alias

<h4 id="containercontainer-getbytag"><code>getByTag()</code></h4>

```php
public function getByTag( string $tag ): array;
```

Return services by tag

<h4 id="containercontainer-getdefinition"><code>getDefinition()</code></h4>

```php
public function getDefinition( string $name ): ServiceDefinition;
```

Return the service definition

<h4 id="containercontainer-getinstance"><code>getInstance()</code></h4>

```php
public function getInstance( string $name ): object;
```

Return a stored instance

<h4 id="containercontainer-getparameter"><code>getParameter()</code></h4>

```php
public function getParameter( string $name ): mixed;
```

Return a parameter

<h4 id="containercontainer-getresolver"><code>getResolver()</code></h4>

```php
public function getResolver(): Resolver;
```

Return the resolver

<h4 id="containercontainer-getservice"><code>getService()</code></h4>

```php
public function getService( string $serviceName ): object;
```

Resolve an return a service

<h4 id="containercontainer-getservicenames"><code>getServiceNames()</code></h4>

```php
public function getServiceNames(): array;
```

Returns the names of every registered service definition. Names that
only exist as an alias, a pre-set instance or a parameter are not
included.

<h4 id="containercontainer-has"><code>has()</code></h4>

```php
public function has( string $name ): bool;
```

Does the container have a particular service

<h4 id="containercontainer-hasalias"><code>hasAlias()</code></h4>

```php
public function hasAlias( string $name ): bool;
```

Does the service have an alias

<h4 id="containercontainer-hasdefinition"><code>hasDefinition()</code></h4>

```php
public function hasDefinition( string $name ): bool;
```

Does the service have a definition

<h4 id="containercontainer-hasinstance"><code>hasInstance()</code></h4>

```php
public function hasInstance( string $name ): bool;
```

Does the service have an instance

<h4 id="containercontainer-hasparameter"><code>hasParameter()</code></h4>

```php
public function hasParameter( string $name ): bool;
```

Does the service have a parameter

<h4 id="containercontainer-hasservice"><code>hasService()</code></h4>

```php
public function hasService( string $serviceName ): bool;
```

Does the container have a particular service

<h4 id="containercontainer-isautowireenabled"><code>isAutowireEnabled()</code></h4>

```php
public function isAutowireEnabled(): bool;
```

Is AutoWiring enabled

<h4 id="containercontainer-new"><code>new()</code></h4>

```php
public function new( string $name ): mixed;
```

Resolve and return a new service

<h4 id="containercontainer-newdefinition"><code>newDefinition()</code></h4>

```php
public function newDefinition( string $name ): ServiceDefinition;
```

Return a new service definition

<h4 id="containercontainer-set"><code>set()</code></h4>

```php
public function set(
string $name,
mixed $definition
): ServiceDefinition;
```

Set a service

<h4 id="containercontainer-setalias"><code>setAlias()</code></h4>

```php
public function setAlias(
string $name,
string $alias
): static;
```

Set an alias

<h4 id="containercontainer-setautowire"><code>setAutowire()</code></h4>

```php
public function setAutowire( bool $enabled ): static;
```

Set AutoWire

<h4 id="containercontainer-setdefinition"><code>setDefinition()</code></h4>

```php
public function setDefinition(
string $name,
ServiceDefinition $definition
): static;
```

Set a definition

<h4 id="containercontainer-setinstance"><code>setInstance()</code></h4>

```php
public function setInstance(
string $name,
object $instance,
string $lifetime
): static;
```

Set an instance

<h4 id="containercontainer-setparameter"><code>setParameter()</code></h4>

```php
public function setParameter(
string $name,
mixed $value
): static;
```

Set a parameter

<h4 id="containercontainer-settag"><code>setTag()</code></h4>

```php
public function setTag(
string $tag,
string $serviceName
): void;
```

Register a tag with a service

<h4 id="containercontainer-unsetalias"><code>unsetAlias()</code></h4>

```php
public function unsetAlias( string $name ): void;
```

Remove an alias

<h4 id="containercontainer-unsetdefinition"><code>unsetDefinition()</code></h4>

```php
public function unsetDefinition( string $name ): void;
```

Remove a definition

<h4 id="containercontainer-unsetinstance"><code>unsetInstance()</code></h4>

```php
public function unsetInstance( string $name ): void;
```

Remove an instance

<h4 id="containercontainer-unsetinstances"><code>unsetInstances()</code></h4>

```php
public function unsetInstances( string $lifetime ): void;
```

Remove instances based on lifetime

<h4 id="containercontainer-unsetparameter"><code>unsetParameter()</code></h4>

```php
public function unsetParameter( string $name ): void;
```

Remove a parameter

## Container\ContainerFactory

Class

- **`Phalcon\Container\ContainerFactory`** - implements [`Phalcon\Contracts\Container\Ioc\IocContainerFactory`](/5.20/api/phalcon_contracts/#contractscontaineriocioccontainerfactory)

`Phalcon\Contracts\Container\ContainerTypes` · `Phalcon\Contracts\Container\Ioc\IocContainerFactory` · `Phalcon\Contracts\Container\Service\Provider`

### Method Summary

<ApiItem href="#containercontainerfactory-addprovider" visibility="public" name="addProvider" returnType="static" params={[{"type":"Provider","name":"provider","default":null}]}>
Adds a provider
</ApiItem>
<ApiItem href="#containercontainerfactory-newcontainer" visibility="public" name="newContainer" returnType="Container" params={[]}>
Returns a new container
</ApiItem>

### Properties

<ApiItem kind="property" visibility="protected" name="providers" type="array" default="[]">
</ApiItem>

### Methods

<h4 id="containercontainerfactory-addprovider"><code>addProvider()</code></h4>

```php
public function addProvider( Provider $provider ): static;
```

Adds a provider

<h4 id="containercontainerfactory-newcontainer"><code>newContainer()</code></h4>

```php
public function newContainer(): Container;
```

Returns a new container

## Container\Definition\DefinitionType

Class

- **`Phalcon\Container\Definition\DefinitionType`**

### Constants

<ApiItem kind="constant" name="CLOSURE_TYPE" type="string" default="&quot;closure&quot;">
</ApiItem>
<ApiItem kind="constant" name="OBJECT_TYPE" type="string" default="&quot;object&quot;">
</ApiItem>
<ApiItem kind="constant" name="PARAMETER_TYPE" type="string" default="&quot;parameter&quot;">
</ApiItem>
<ApiItem kind="constant" name="STRING_TYPE" type="string" default="&quot;string&quot;">
</ApiItem>

## Container\Definition\Processor\ClosureProcessor

Class

- **`Phalcon\Container\Definition\Processor\ClosureProcessor`** - implements [`Phalcon\Container\Definition\Processor\Processor`](#containerdefinitionprocessorprocessor)

`Closure` · `Phalcon\Container\Definition\DefinitionType` · `Phalcon\Container\Definition\ServiceDefinition`

### Method Summary

<ApiItem href="#containerdefinitionprocessorclosureprocessor-canprocess" visibility="public" name="canProcess" returnType="bool" params={[{"type":"mixed","name":"definition","default":null}]}>
Wheteher the definition is a Closure
</ApiItem>
<ApiItem href="#containerdefinitionprocessorclosureprocessor-process" visibility="public" name="process" returnType="ServiceDefinition" params={[{"type":"string","name":"name","default":null},{"type":"mixed","name":"definition","default":null},{"type":"object","name":"container","default":null}]}>
Process the Closure
</ApiItem>

### Methods

<h4 id="containerdefinitionprocessorclosureprocessor-canprocess"><code>canProcess()</code></h4>

```php
public function canProcess( mixed $definition ): bool;
```

Wheteher the definition is a Closure

<h4 id="containerdefinitionprocessorclosureprocessor-process"><code>process()</code></h4>

```php
public function process(
string $name,
mixed $definition,
object $container
): ServiceDefinition;
```

Process the Closure

## Container\Definition\Processor\ObjectProcessor

Class

- **`Phalcon\Container\Definition\Processor\ObjectProcessor`** - implements [`Phalcon\Container\Definition\Processor\Processor`](#containerdefinitionprocessorprocessor)

`Closure` · `Phalcon\Container\Definition\DefinitionType` · `Phalcon\Container\Definition\ServiceDefinition`

### Method Summary

<ApiItem href="#containerdefinitionprocessorobjectprocessor-canprocess" visibility="public" name="canProcess" returnType="bool" params={[{"type":"mixed","name":"definition","default":null}]}>
Whether the definition is an Object (not Closure)
</ApiItem>
<ApiItem href="#containerdefinitionprocessorobjectprocessor-process" visibility="public" name="process" returnType="ServiceDefinition" params={[{"type":"string","name":"name","default":null},{"type":"mixed","name":"definition","default":null},{"type":"object","name":"container","default":null}]}>
Process the Object
</ApiItem>

### Methods

<h4 id="containerdefinitionprocessorobjectprocessor-canprocess"><code>canProcess()</code></h4>

```php
public function canProcess( mixed $definition ): bool;
```

Whether the definition is an Object (not Closure)

<h4 id="containerdefinitionprocessorobjectprocessor-process"><code>process()</code></h4>

```php
public function process(
string $name,
mixed $definition,
object $container
): ServiceDefinition;
```

Process the Object

## Container\Definition\Processor\ParameterProcessor

Class

- **`Phalcon\Container\Definition\Processor\ParameterProcessor`** - implements [`Phalcon\Container\Definition\Processor\Processor`](#containerdefinitionprocessorprocessor)

`Closure` · `Phalcon\Container\Definition\DefinitionType` · `Phalcon\Container\Definition\ServiceDefinition`

### Method Summary

<ApiItem href="#containerdefinitionprocessorparameterprocessor-canprocess" visibility="public" name="canProcess" returnType="bool" params={[{"type":"mixed","name":"definition","default":null}]}>
Whetehr the definition is a parameter
</ApiItem>
<ApiItem href="#containerdefinitionprocessorparameterprocessor-process" visibility="public" name="process" returnType="ServiceDefinition" params={[{"type":"string","name":"name","default":null},{"type":"mixed","name":"definition","default":null},{"type":"object","name":"container","default":null}]}>
Process the parameter
</ApiItem>

### Methods

<h4 id="containerdefinitionprocessorparameterprocessor-canprocess"><code>canProcess()</code></h4>

```php
public function canProcess( mixed $definition ): bool;
```

Whetehr the definition is a parameter

<h4 id="containerdefinitionprocessorparameterprocessor-process"><code>process()</code></h4>

```php
public function process(
string $name,
mixed $definition,
object $container
): ServiceDefinition;
```

Process the parameter

## Container\Definition\Processor\Processor

Interface

- **`Phalcon\Container\Definition\Processor\Processor`**

`Phalcon\Container\Definition\ServiceDefinition`

### Method Summary

<ApiItem href="#containerdefinitionprocessorprocessor-canprocess" visibility="public" name="canProcess" returnType="bool" params={[{"type":"mixed","name":"definition","default":null}]}>
Can this definition be processed?
</ApiItem>
<ApiItem href="#containerdefinitionprocessorprocessor-process" visibility="public" name="process" returnType="ServiceDefinition" params={[{"type":"string","name":"name","default":null},{"type":"mixed","name":"definition","default":null},{"type":"object","name":"container","default":null}]}>
Process the definition
</ApiItem>

### Methods

<h4 id="containerdefinitionprocessorprocessor-canprocess"><code>canProcess()</code></h4>

```php
public function canProcess( mixed $definition ): bool;
```

Can this definition be processed?

<h4 id="containerdefinitionprocessorprocessor-process"><code>process()</code></h4>

```php
public function process(
string $name,
mixed $definition,
object $container
): ServiceDefinition;
```

Process the definition

## Container\Definition\Processor\StringProcessor

Class

- **`Phalcon\Container\Definition\Processor\StringProcessor`** - implements [`Phalcon\Container\Definition\Processor\Processor`](#containerdefinitionprocessorprocessor)

`Phalcon\Container\Definition\DefinitionType` · `Phalcon\Container\Definition\ServiceDefinition`

### Method Summary

<ApiItem href="#containerdefinitionprocessorstringprocessor-canprocess" visibility="public" name="canProcess" returnType="bool" params={[{"type":"mixed","name":"definition","default":null}]}>
Whether the definition is a class string
</ApiItem>
<ApiItem href="#containerdefinitionprocessorstringprocessor-process" visibility="public" name="process" returnType="ServiceDefinition" params={[{"type":"string","name":"name","default":null},{"type":"mixed","name":"definition","default":null},{"type":"object","name":"container","default":null}]}>
Process the class string
</ApiItem>

### Methods

<h4 id="containerdefinitionprocessorstringprocessor-canprocess"><code>canProcess()</code></h4>

```php
public function canProcess( mixed $definition ): bool;
```

Whether the definition is a class string

<h4 id="containerdefinitionprocessorstringprocessor-process"><code>process()</code></h4>

```php
public function process(
string $name,
mixed $definition,
object $container
): ServiceDefinition;
```

Process the class string

## Container\Definition\ServiceDefinition

Class

- **`Phalcon\Container\Definition\ServiceDefinition`**

`Phalcon\Container\Exceptions\FrozenDefinition` · `Phalcon\Container\Exceptions\InvalidExtender` · `Phalcon\Container\Exceptions\NoClassSet` · `Phalcon\Container\Exceptions\NoFactorySet` · `Phalcon\Contracts\Container\ContainerTypes` · `Phalcon\Contracts\Container\Ioc\IocContainer` · `Phalcon\Contracts\Container\Resolver\Resolvable` · `Phalcon\Contracts\Container\Service\Collection` · `ReflectionClass` · `ReflectionException`

### Method Summary

<ApiItem href="#containerdefinitionservicedefinition-__construct" visibility="public" name="__construct" returnType="" params={[{"type":"string","name":"serviceName","default":null},{"type":"string","name":"type","default":null},{"type":"mixed","name":"raw","default":"null"}]}>
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-addextender" visibility="public" name="addExtender" returnType="static" params={[{"type":"callable","name":"extender","default":null}]}>
Adds an extender
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-addtag" visibility="public" name="addTag" returnType="static" params={[{"type":"string","name":"tag","default":null}]}>
Adds a tag
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-buildservice" visibility="public" name="buildService" returnType="object" params={[{"type":"object","name":"container","default":null}]}>
Builds a service and returns the instance back
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-freeze" visibility="public" name="freeze" returnType="void" params={[{"type":"object","name":"container","default":null}]}>
Freezes the container
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-getarguments" visibility="public" name="getArguments" returnType="array" params={[]}>
Returns the arguments
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-getclass" visibility="public" name="getClass" returnType="string" params={[]}>
Returns the class
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-getconstructorargs" visibility="public" name="getConstructorArgs" returnType="array" params={[]}>
Returns the constructor arguments
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-getextenders" visibility="public" name="getExtenders" returnType="array" params={[]}>
Returns the extenders
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-getfactory" visibility="public" name="getFactory" returnType="callable" params={[]}>
Returns the factory
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-getlifetime" visibility="public" name="getLifetime" returnType="string" params={[]}>
Returns the lifetime
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-getservicename" visibility="public" name="getServiceName" returnType="string" params={[]}>
Returns the name of the service
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-gettags" visibility="public" name="getTags" returnType="array" params={[]}>
Returns the tags
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-gettype" visibility="public" name="getType" returnType="string" params={[]}>
Returns the type
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-hasclass" visibility="public" name="hasClass" returnType="bool" params={[]}>
Does it have a class
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-hasextenders" visibility="public" name="hasExtenders" returnType="bool" params={[]}>
Do we have extenders
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-hasfactory" visibility="public" name="hasFactory" returnType="bool" params={[]}>
Does it have a factory
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-iscacheable" visibility="public" name="isCacheable" returnType="bool" params={[]}>
Is it cacheable
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-isfrozen" visibility="public" name="isFrozen" returnType="bool" params={[]}>
Is it frozen
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-setargument" visibility="public" name="setArgument" returnType="static" params={[{"type":"mixed","name":"param","default":null},{"type":"mixed","name":"value","default":null}]}>
Set an argument
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-setclass" visibility="public" name="setClass" returnType="static" params={[{"type":"string","name":"className","default":null}]}>
Set a class
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-setcontainer" visibility="public" name="setContainer" returnType="static" params={[{"type":"object","name":"container","default":null}]}>
Set the container
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-setextenders" visibility="public" name="setExtenders" returnType="static" params={[{"type":"array","name":"extenders","default":null}]}>
Set extenders
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-setfactory" visibility="public" name="setFactory" returnType="static" params={[{"type":"callable","name":"factory","default":null}]}>
Set a factory
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-setiscacheable" visibility="public" name="setIsCacheable" returnType="static" params={[{"type":"bool","name":"isCacheable","default":null}]}>
Set cachable
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-setlifetime" visibility="public" name="setLifetime" returnType="static" params={[{"type":"string","name":"lifetime","default":null}]}>
Set lifetime
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-unsetclass" visibility="public" name="unsetClass" returnType="static" params={[]}>
Unset class
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-unsetextenders" visibility="public" name="unsetExtenders" returnType="static" params={[]}>
Unset extenders
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-unsetfactory" visibility="public" name="unsetFactory" returnType="static" params={[]}>
Unset the factory
</ApiItem>
<ApiItem href="#containerdefinitionservicedefinition-checkfrozen" visibility="protected" name="checkFrozen" returnType="void" params={[]}>
Check if frozen
</ApiItem>

### Properties

<ApiItem kind="property" visibility="protected" name="arguments" type="array" default="[]">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="className" type="string|null" default="null">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="constructorArgs" type="array" default="[]">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="container" type="object|null" default="null">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="extenders" type="array" default="[]">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="factory" type="callable|null" default="null">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="frozen" type="bool" default="false">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="isCacheable" type="bool" default="false">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="lifetime" type="string" default="ServiceLifetime::SCOPED">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="raw" type="mixed" default="null">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="serviceName" type="string" default="">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="tags" type="array" default="[]">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="type" type="string" default="">
</ApiItem>

### Methods

<h4 id="containerdefinitionservicedefinition-__construct"><code>__construct()</code></h4>

```php
public function __construct(
string $serviceName,
string $type,
mixed $raw = null
);
```

<h4 id="containerdefinitionservicedefinition-addextender"><code>addExtender()</code></h4>

```php
public function addExtender( callable $extender ): static;
```

Adds an extender

<h4 id="containerdefinitionservicedefinition-addtag"><code>addTag()</code></h4>

```php
public function addTag( string $tag ): static;
```

Adds a tag

<h4 id="containerdefinitionservicedefinition-buildservice"><code>buildService()</code></h4>

```php
public function buildService( object $container ): object;
```

Builds a service and returns the instance back

<h4 id="containerdefinitionservicedefinition-freeze"><code>freeze()</code></h4>

```php
public function freeze( object $container ): void;
```

Freezes the container

<h4 id="containerdefinitionservicedefinition-getarguments"><code>getArguments()</code></h4>

```php
public function getArguments(): array;
```

Returns the arguments

<h4 id="containerdefinitionservicedefinition-getclass"><code>getClass()</code></h4>

```php
public function getClass(): string;
```

Returns the class

<h4 id="containerdefinitionservicedefinition-getconstructorargs"><code>getConstructorArgs()</code></h4>

```php
public function getConstructorArgs(): array;
```

Returns the constructor arguments

<h4 id="containerdefinitionservicedefinition-getextenders"><code>getExtenders()</code></h4>

```php
public function getExtenders(): array;
```

Returns the extenders

<h4 id="containerdefinitionservicedefinition-getfactory"><code>getFactory()</code></h4>

```php
public function getFactory(): callable;
```

Returns the factory

<h4 id="containerdefinitionservicedefinition-getlifetime"><code>getLifetime()</code></h4>

```php
public function getLifetime(): string;
```

Returns the lifetime

<h4 id="containerdefinitionservicedefinition-getservicename"><code>getServiceName()</code></h4>

```php
public function getServiceName(): string;
```

Returns the name of the service

<h4 id="containerdefinitionservicedefinition-gettags"><code>getTags()</code></h4>

```php
public function getTags(): array;
```

Returns the tags

<h4 id="containerdefinitionservicedefinition-gettype"><code>getType()</code></h4>

```php
public function getType(): string;
```

Returns the type

<h4 id="containerdefinitionservicedefinition-hasclass"><code>hasClass()</code></h4>

```php
public function hasClass(): bool;
```

Does it have a class

<h4 id="containerdefinitionservicedefinition-hasextenders"><code>hasExtenders()</code></h4>

```php
public function hasExtenders(): bool;
```

Do we have extenders

<h4 id="containerdefinitionservicedefinition-hasfactory"><code>hasFactory()</code></h4>

```php
public function hasFactory(): bool;
```

Does it have a factory

<h4 id="containerdefinitionservicedefinition-iscacheable"><code>isCacheable()</code></h4>

```php
public function isCacheable(): bool;
```

Is it cacheable

<h4 id="containerdefinitionservicedefinition-isfrozen"><code>isFrozen()</code></h4>

```php
public function isFrozen(): bool;
```

Is it frozen

<h4 id="containerdefinitionservicedefinition-setargument"><code>setArgument()</code></h4>

```php
public function setArgument(
mixed $param,
mixed $value
): static;
```

Set an argument

<h4 id="containerdefinitionservicedefinition-setclass"><code>setClass()</code></h4>

```php
public function setClass( string $className ): static;
```

Set a class

<h4 id="containerdefinitionservicedefinition-setcontainer"><code>setContainer()</code></h4>

```php
public function setContainer( object $container ): static;
```

Set the container

<h4 id="containerdefinitionservicedefinition-setextenders"><code>setExtenders()</code></h4>

```php
public function setExtenders( array $extenders ): static;
```

Set extenders

<h4 id="containerdefinitionservicedefinition-setfactory"><code>setFactory()</code></h4>

```php
public function setFactory( callable $factory ): static;
```

Set a factory

<h4 id="containerdefinitionservicedefinition-setiscacheable"><code>setIsCacheable()</code></h4>

```php
public function setIsCacheable( bool $isCacheable ): static;
```

Set cachable

<h4 id="containerdefinitionservicedefinition-setlifetime"><code>setLifetime()</code></h4>

```php
public function setLifetime( string $lifetime ): static;
```

Set lifetime

<h4 id="containerdefinitionservicedefinition-unsetclass"><code>unsetClass()</code></h4>

```php
public function unsetClass(): static;
```

Unset class

<h4 id="containerdefinitionservicedefinition-unsetextenders"><code>unsetExtenders()</code></h4>

```php
public function unsetExtenders(): static;
```

Unset extenders

<h4 id="containerdefinitionservicedefinition-unsetfactory"><code>unsetFactory()</code></h4>

```php
public function unsetFactory(): static;
```

Unset the factory

<h4 id="containerdefinitionservicedefinition-checkfrozen"><code>checkFrozen()</code></h4>

```php
protected function checkFrozen(): void;
```

Check if frozen

## Container\Definition\ServiceLifetime

Class

- **`Phalcon\Container\Definition\ServiceLifetime`**

### Constants

<ApiItem kind="constant" name="SCOPED" type="string" default="&quot;SCOPED&quot;">
</ApiItem>
<ApiItem kind="constant" name="SINGLETON" type="string" default="&quot;SINGLETON&quot;">
</ApiItem>
<ApiItem kind="constant" name="TRANSIENT" type="string" default="&quot;TRANSIENT&quot;">
</ApiItem>

## Container\Exceptions\CannotExtendResolved

Class

- `\Exception`
- [`Phalcon\Container\Exceptions\Exception`](#containerexceptionsexception)
- **`Phalcon\Container\Exceptions\CannotExtendResolved`**

### Method Summary

<ApiItem href="#containerexceptionscannotextendresolved-__construct" visibility="public" name="__construct" returnType="" params={[{"type":"string","name":"name","default":null}]}>
Cannot extend a resolved service
</ApiItem>

### Methods

<h4 id="containerexceptionscannotextendresolved-__construct"><code>__construct()</code></h4>

```php
public function __construct( string $name );
```

Cannot extend a resolved service

## Container\Exceptions\CannotResolveParameter

Class

- `\Exception`
- [`Phalcon\Container\Exceptions\Exception`](#containerexceptionsexception)
- **`Phalcon\Container\Exceptions\CannotResolveParameter`**

### Method Summary

<ApiItem href="#containerexceptionscannotresolveparameter-__construct" visibility="public" name="__construct" returnType="" params={[{"type":"string","name":"param","default":null},{"type":"string","name":"className","default":null}]}>
Cannot resolve a parameter
</ApiItem>

### Methods

<h4 id="containerexceptionscannotresolveparameter-__construct"><code>__construct()</code></h4>

```php
public function __construct(
string $param,
string $className
);
```

Cannot resolve a parameter

## Container\Exceptions\CircularAliasFound

Class

- `\Exception`
- [`Phalcon\Container\Exceptions\Exception`](#containerexceptionsexception)
- **`Phalcon\Container\Exceptions\CircularAliasFound`**

### Method Summary

<ApiItem href="#containerexceptionscircularaliasfound-__construct" visibility="public" name="__construct" returnType="" params={[{"type":"string","name":"name","default":null}]}>
Circular Alias found
</ApiItem>

### Methods

<h4 id="containerexceptionscircularaliasfound-__construct"><code>__construct()</code></h4>

```php
public function __construct( string $name );
```

Circular Alias found

## Container\Exceptions\ContainerThrowable

Interface

- `\Throwable`
- [`Phalcon\Contracts\Container\Ioc\IocThrowable`](/5.20/api/phalcon_contracts/#contractscontaineriociocthrowable)
- **`Phalcon\Container\Exceptions\ContainerThrowable`** - extends [`Phalcon\Contracts\Container\Ioc\IocThrowable`](/5.20/api/phalcon_contracts/#contractscontaineriociocthrowable), [`Phalcon\Contracts\Container\Resolver\ResolverThrowable`](/5.20/api/phalcon_contracts/#contractscontainerresolverresolverthrowable), [`Phalcon\Contracts\Container\Service\Throwable`](/5.20/api/phalcon_contracts/#contractscontainerservicethrowable)

`Phalcon\Contracts\Container\Ioc\IocThrowable` · `Phalcon\Contracts\Container\Resolver\ResolverThrowable` · `Phalcon\Contracts\Container\Service\Throwable`

## Container\Exceptions\EnvNotDefined

Final

- `\Exception`
- [`Phalcon\Container\Exceptions\Exception`](#containerexceptionsexception)
- **`Phalcon\Container\Exceptions\EnvNotDefined`**

### Method Summary

<ApiItem href="#containerexceptionsenvnotdefined-__construct" visibility="public" name="__construct" returnType="" params={[{"type":"string","name":"varname","default":null}]}>
</ApiItem>

### Methods

<h4 id="containerexceptionsenvnotdefined-__construct"><code>__construct()</code></h4>

```php
public function __construct( string $varname );
```

## Container\Exceptions\Exception

Class

- `\Exception`
- **`Phalcon\Container\Exceptions\Exception`** - implements [`Phalcon\Container\Exceptions\ContainerThrowable`](#containerexceptionscontainerthrowable)
- [`Phalcon\Container\Exceptions\CannotExtendResolved`](#containerexceptionscannotextendresolved)
- [`Phalcon\Container\Exceptions\CannotResolveParameter`](#containerexceptionscannotresolveparameter)
- [`Phalcon\Container\Exceptions\CircularAliasFound`](#containerexceptionscircularaliasfound)
- [`Phalcon\Container\Exceptions\EnvNotDefined`](#containerexceptionsenvnotdefined)
- [`Phalcon\Container\Exceptions\FrozenDefinition`](#containerexceptionsfrozendefinition)
- [`Phalcon\Container\Exceptions\InstanceNotFound`](#containerexceptionsinstancenotfound)
- [`Phalcon\Container\Exceptions\InvalidExtender`](#containerexceptionsinvalidextender)
- [`Phalcon\Container\Exceptions\NoClassSet`](#containerexceptionsnoclassset)
- [`Phalcon\Container\Exceptions\NoFactorySet`](#containerexceptionsnofactoryset)
- [`Phalcon\Container\Exceptions\NoProcessorFound`](#containerexceptionsnoprocessorfound)
- [`Phalcon\Container\Exceptions\ParameterNotFound`](#containerexceptionsparameternotfound)
- [`Phalcon\Container\Exceptions\ServiceNotFound`](#containerexceptionsservicenotfound)
- [`Phalcon\Container\Exceptions\ServiceNotRegistered`](#containerexceptionsservicenotregistered)

`Exception`

## Container\Exceptions\FrozenDefinition

Class

- `\Exception`
- [`Phalcon\Container\Exceptions\Exception`](#containerexceptionsexception)
- **`Phalcon\Container\Exceptions\FrozenDefinition`**

### Method Summary

<ApiItem href="#containerexceptionsfrozendefinition-__construct" visibility="public" name="__construct" returnType="" params={[{"type":"string","name":"name","default":null}]}>
Definition is frozen
</ApiItem>

### Methods

<h4 id="containerexceptionsfrozendefinition-__construct"><code>__construct()</code></h4>

```php
public function __construct( string $name );
```

Definition is frozen

## Container\Exceptions\InstanceNotFound

Final

- `\Exception`
- [`Phalcon\Container\Exceptions\Exception`](#containerexceptionsexception)
- **`Phalcon\Container\Exceptions\InstanceNotFound`**

### Method Summary

<ApiItem href="#containerexceptionsinstancenotfound-__construct" visibility="public" name="__construct" returnType="" params={[{"type":"string","name":"name","default":null}]}>
</ApiItem>

### Methods

<h4 id="containerexceptionsinstancenotfound-__construct"><code>__construct()</code></h4>

```php
public function __construct( string $name );
```

## Container\Exceptions\InvalidExtender

Class

- `\Exception`
- [`Phalcon\Container\Exceptions\Exception`](#containerexceptionsexception)
- **`Phalcon\Container\Exceptions\InvalidExtender`**

### Method Summary

<ApiItem href="#containerexceptionsinvalidextender-__construct" visibility="public" name="__construct" returnType="" params={[{"type":"string","name":"service","default":null},{"type":"string","name":"key","default":null}]}>
Invalid extender (not callable)
</ApiItem>

### Methods

<h4 id="containerexceptionsinvalidextender-__construct"><code>__construct()</code></h4>

```php
public function __construct(
string $service,
string $key
);
```

Invalid extender (not callable)

## Container\Exceptions\NoClassSet

Class

- `\Exception`
- [`Phalcon\Container\Exceptions\Exception`](#containerexceptionsexception)
- **`Phalcon\Container\Exceptions\NoClassSet`**

### Method Summary

<ApiItem href="#containerexceptionsnoclassset-__construct" visibility="public" name="__construct" returnType="" params={[{"type":"string","name":"name","default":null}]}>
No set for service
</ApiItem>

### Methods

<h4 id="containerexceptionsnoclassset-__construct"><code>__construct()</code></h4>

```php
public function __construct( string $name );
```

No set for service

## Container\Exceptions\NoFactorySet

Class

- `\Exception`
- [`Phalcon\Container\Exceptions\Exception`](#containerexceptionsexception)
- **`Phalcon\Container\Exceptions\NoFactorySet`**

### Method Summary

<ApiItem href="#containerexceptionsnofactoryset-__construct" visibility="public" name="__construct" returnType="" params={[{"type":"string","name":"name","default":null}]}>
No factory for service
</ApiItem>

### Methods

<h4 id="containerexceptionsnofactoryset-__construct"><code>__construct()</code></h4>

```php
public function __construct( string $name );
```

No factory for service

## Container\Exceptions\NoProcessorFound

Class

- `\Exception`
- [`Phalcon\Container\Exceptions\Exception`](#containerexceptionsexception)
- **`Phalcon\Container\Exceptions\NoProcessorFound`**

### Method Summary

<ApiItem href="#containerexceptionsnoprocessorfound-__construct" visibility="public" name="__construct" returnType="" params={[]}>
No processor found
</ApiItem>

### Methods

<h4 id="containerexceptionsnoprocessorfound-__construct"><code>__construct()</code></h4>

```php
public function __construct();
```

No processor found

## Container\Exceptions\ParameterNotFound

Final

- `\Exception`
- [`Phalcon\Container\Exceptions\Exception`](#containerexceptionsexception)
- **`Phalcon\Container\Exceptions\ParameterNotFound`**

### Method Summary

<ApiItem href="#containerexceptionsparameternotfound-__construct" visibility="public" name="__construct" returnType="" params={[{"type":"string","name":"name","default":null}]}>
</ApiItem>

### Methods

<h4 id="containerexceptionsparameternotfound-__construct"><code>__construct()</code></h4>

```php
public function __construct( string $name );
```

## Container\Exceptions\ServiceNotFound

Class

- `\Exception`
- [`Phalcon\Container\Exceptions\Exception`](#containerexceptionsexception)
- **`Phalcon\Container\Exceptions\ServiceNotFound`**

### Method Summary

<ApiItem href="#containerexceptionsservicenotfound-__construct" visibility="public" name="__construct" returnType="" params={[{"type":"string","name":"name","default":null}]}>
Service not found
</ApiItem>

### Methods

<h4 id="containerexceptionsservicenotfound-__construct"><code>__construct()</code></h4>

```php
public function __construct( string $name );
```

Service not found

## Container\Exceptions\ServiceNotRegistered

Class

- `\Exception`
- [`Phalcon\Container\Exceptions\Exception`](#containerexceptionsexception)
- **`Phalcon\Container\Exceptions\ServiceNotRegistered`**

### Method Summary

<ApiItem href="#containerexceptionsservicenotregistered-__construct" visibility="public" name="__construct" returnType="" params={[{"type":"string","name":"name","default":null}]}>
Service not registered
</ApiItem>

### Methods

<h4 id="containerexceptionsservicenotregistered-__construct"><code>__construct()</code></h4>

```php
public function __construct( string $name );
```

Service not registered

## Container\Provider\Cli

Class

- **`Phalcon\Container\Provider\Cli`** - implements [`Phalcon\Contracts\Container\Service\Provider`](/5.20/api/phalcon_contracts/#contractscontainerserviceprovider)

`Phalcon\Annotations\Adapter\Memory` · `Phalcon\Auth\Access\AccessLocator` · `Phalcon\Cli\Dispatcher` · `Phalcon\Cli\DispatcherInterface` · `Phalcon\Cli\Router` · `Phalcon\Cli\RouterInterface` · `Phalcon\Contracts\Container\Service\Collection` · `Phalcon\Contracts\Container\Service\Provider` · `Phalcon\Contracts\Encryption\Security\Security` · `Phalcon\Encryption\Security` · `Phalcon\Events\Manager` · `Phalcon\Events\ManagerInterface` · `Phalcon\Filter\FilterFactory` · `Phalcon\Filter\FilterInterface` · `Phalcon\Html\Escaper` · `Phalcon\Html\Escaper\EscaperInterface` · `Phalcon\Html\TagFactory` · `Phalcon\Mvc\Model\Manager` · `Phalcon\Mvc\Model\ManagerInterface` · `Phalcon\Mvc\Model\MetaDataInterface` · `Phalcon\Mvc\Model\MetaData\Memory` · `Phalcon\Mvc\Model\Transaction\Manager` · `Phalcon\Mvc\Model\Transaction\ManagerInterface` · `Phalcon\Storage\SerializerFactory` · `Phalcon\Support\HelperFactory` · `Phalcon\Support\Settings`

### Method Summary

<ApiItem href="#containerprovidercli-provide" visibility="public" name="provide" returnType="void" params={[{"type":"Collection","name":"services","default":null}]}>
Provider for commonly used CLI applications
</ApiItem>

### Methods

<h4 id="containerprovidercli-provide"><code>provide()</code></h4>

```php
public function provide( Collection $services ): void;
```

Provider for commonly used CLI applications

## Container\Provider\Web

Class

- **`Phalcon\Container\Provider\Web`** - implements [`Phalcon\Contracts\Container\Service\Provider`](/5.20/api/phalcon_contracts/#contractscontainerserviceprovider)

`Phalcon\Annotations\Adapter\Memory` · `Phalcon\Assets\Manager` · `Phalcon\Auth\Access\AccessLocator` · `Phalcon\Contracts\Container\Service\Collection` · `Phalcon\Contracts\Container\Service\Provider` · `Phalcon\Contracts\Encryption\Security\Security` · `Phalcon\Encryption\Crypt` · `Phalcon\Encryption\Crypt\CryptInterface` · `Phalcon\Encryption\Security` · `Phalcon\Events\Manager` · `Phalcon\Events\ManagerInterface` · `Phalcon\Filter\FilterFactory` · `Phalcon\Filter\FilterInterface` · `Phalcon\Flash\Direct` · `Phalcon\Flash\Session` · `Phalcon\Html\Escaper` · `Phalcon\Html\Escaper\EscaperInterface` · `Phalcon\Html\TagFactory` · `Phalcon\Http\Request` · `Phalcon\Http\RequestInterface` · `Phalcon\Http\Response` · `Phalcon\Http\ResponseInterface` · `Phalcon\Http\Response\Cookies` · `Phalcon\Http\Response\CookiesInterface` · `Phalcon\Mvc\Dispatcher` · `Phalcon\Mvc\DispatcherInterface` · `Phalcon\Mvc\Model\Manager` · `Phalcon\Mvc\Model\ManagerInterface` · `Phalcon\Mvc\Model\MetaDataInterface` · `Phalcon\Mvc\Model\MetaData\Memory` · `Phalcon\Mvc\Model\Transaction\Manager` · `Phalcon\Mvc\Model\Transaction\ManagerInterface` · `Phalcon\Mvc\Router` · `Phalcon\Mvc\RouterInterface` · `Phalcon\Mvc\Url` · `Phalcon\Mvc\Url\UrlInterface` · `Phalcon\Storage\SerializerFactory` · `Phalcon\Support\HelperFactory` · `Phalcon\Support\Settings`

### Method Summary

<ApiItem href="#containerproviderweb-provide" visibility="public" name="provide" returnType="void" params={[{"type":"Collection","name":"services","default":null}]}>
Provider for commonly used Web applications
</ApiItem>

### Methods

<h4 id="containerproviderweb-provide"><code>provide()</code></h4>

```php
public function provide( Collection $services ): void;
```

Provider for commonly used Web applications

## Container\Resolver\Lazy\ArrayValues

Class

@implements ArrayAccess&lt;array-key, mixed>
@implements IteratorAggregate&lt;array-key, mixed>

- [`Phalcon\Container\Resolver\Lazy\Lazy`](#containerresolverlazylazy)
- **`Phalcon\Container\Resolver\Lazy\ArrayValues`** - implements `\ArrayAccess`, `\Countable`, `\IteratorAggregate`

`ArrayAccess` · `ArrayIterator` · `Countable` · `IteratorAggregate` · `Phalcon\Contracts\Container\ContainerTypes`

### Method Summary

<ApiItem href="#containerresolverlazyarrayvalues-__construct" visibility="public" name="__construct" returnType="" params={[{"type":"array","name":"values","default":"[]"}]}>
</ApiItem>
<ApiItem href="#containerresolverlazyarrayvalues-count" visibility="public" name="count" returnType="int" params={[]}>
</ApiItem>
<ApiItem href="#containerresolverlazyarrayvalues-getiterator" visibility="public" name="getIterator" returnType="ArrayIterator" params={[]}>
</ApiItem>
<ApiItem href="#containerresolverlazyarrayvalues-merge" visibility="public" name="merge" returnType="void" params={[{"type":"mixed","name":"values","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazyarrayvalues-offsetexists" visibility="public" name="offsetExists" returnType="bool" params={[{"type":"mixed","name":"offset","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazyarrayvalues-offsetget" visibility="public" name="offsetGet" returnType="mixed" params={[{"type":"mixed","name":"offset","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazyarrayvalues-offsetset" visibility="public" name="offsetSet" returnType="void" params={[{"type":"mixed","name":"offset","default":null},{"type":"mixed","name":"value","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazyarrayvalues-offsetunset" visibility="public" name="offsetUnset" returnType="void" params={[{"type":"mixed","name":"offset","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazyarrayvalues-resolve" visibility="public" name="resolve" returnType="array" params={[{"type":"object","name":"ioc","default":null}]}>
Resolve to an array, where each element has itself been lazy-resolved.
</ApiItem>
<ApiItem href="#containerresolverlazyarrayvalues-resolvevalue" visibility="protected" name="resolveValue" returnType="mixed" params={[{"type":"object","name":"ioc","default":null},{"type":"mixed","name":"value","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazyarrayvalues-resolvevalues" visibility="protected" name="resolveValues" returnType="array" params={[{"type":"object","name":"ioc","default":null},{"type":"array","name":"values","default":null}]}>
</ApiItem>

### Properties

<ApiItem kind="property" visibility="protected" name="values" type="array" default="[]">
</ApiItem>

### Methods

<h4 id="containerresolverlazyarrayvalues-__construct"><code>__construct()</code></h4>

```php
public function __construct( array $values = [] );
```

<h4 id="containerresolverlazyarrayvalues-count"><code>count()</code></h4>

```php
public function count(): int;
```

<h4 id="containerresolverlazyarrayvalues-getiterator"><code>getIterator()</code></h4>

```php
public function getIterator(): ArrayIterator;
```

<h4 id="containerresolverlazyarrayvalues-merge"><code>merge()</code></h4>

```php
public function merge( mixed $values ): void;
```

<h4 id="containerresolverlazyarrayvalues-offsetexists"><code>offsetExists()</code></h4>

```php
public function offsetExists( mixed $offset ): bool;
```

<h4 id="containerresolverlazyarrayvalues-offsetget"><code>offsetGet()</code></h4>

```php
public function offsetGet( mixed $offset ): mixed;
```

<h4 id="containerresolverlazyarrayvalues-offsetset"><code>offsetSet()</code></h4>

```php
public function offsetSet(
mixed $offset,
mixed $value
): void;
```

<h4 id="containerresolverlazyarrayvalues-offsetunset"><code>offsetUnset()</code></h4>

```php
public function offsetUnset( mixed $offset ): void;
```

<h4 id="containerresolverlazyarrayvalues-resolve"><code>resolve()</code></h4>

```php
public function resolve( object $ioc ): array;
```

Resolve to an array, where each element has itself been lazy-resolved.

<h4 id="containerresolverlazyarrayvalues-resolvevalue"><code>resolveValue()</code></h4>

```php
protected function resolveValue(
object $ioc,
mixed $value
): mixed;
```

<h4 id="containerresolverlazyarrayvalues-resolvevalues"><code>resolveValues()</code></h4>

```php
protected function resolveValues(
object $ioc,
array $values
): array;
```

## Container\Resolver\Lazy\Call

Class

- [`Phalcon\Container\Resolver\Lazy\Lazy`](#containerresolverlazylazy)
- **`Phalcon\Container\Resolver\Lazy\Call`**

### Method Summary

<ApiItem href="#containerresolverlazycall-__construct" visibility="public" name="__construct" returnType="" params={[{"type":"callable","name":"callableObject","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazycall-resolve" visibility="public" name="resolve" returnType="mixed" params={[{"type":"object","name":"ioc","default":null}]}>
Resolve the callable
</ApiItem>

### Properties

<ApiItem kind="property" visibility="protected" name="callableObject" type="mixed" default="">
</ApiItem>

### Methods

<h4 id="containerresolverlazycall-__construct"><code>__construct()</code></h4>

```php
public function __construct( callable $callableObject );
```

<h4 id="containerresolverlazycall-resolve"><code>resolve()</code></h4>

```php
public function resolve( object $ioc ): mixed;
```

Resolve the callable

## Container\Resolver\Lazy\CallableGet

Class

- [`Phalcon\Container\Resolver\Lazy\Lazy`](#containerresolverlazylazy)
- **`Phalcon\Container\Resolver\Lazy\CallableGet`**

`Phalcon\Contracts\Container\Service\Collection`

### Method Summary

<ApiItem href="#containerresolverlazycallableget-__construct" visibility="public" name="__construct" returnType="" params={[{"type":"mixed","name":"id","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazycallableget-resolve" visibility="public" name="resolve" returnType="mixed" params={[{"type":"object","name":"ioc","default":null}]}>
Resolve to a closure on a get()
</ApiItem>

### Properties

<ApiItem kind="property" visibility="protected" name="id" type="Lazy|string" default="">
</ApiItem>

### Methods

<h4 id="containerresolverlazycallableget-__construct"><code>__construct()</code></h4>

```php
public function __construct( mixed $id );
```

<h4 id="containerresolverlazycallableget-resolve"><code>resolve()</code></h4>

```php
public function resolve( object $ioc ): mixed;
```

Resolve to a closure on a get()

## Container\Resolver\Lazy\CallableNew

Class

- [`Phalcon\Container\Resolver\Lazy\Lazy`](#containerresolverlazylazy)
- **`Phalcon\Container\Resolver\Lazy\CallableNew`**

`Phalcon\Contracts\Container\Service\Collection`

### Method Summary

<ApiItem href="#containerresolverlazycallablenew-__construct" visibility="public" name="__construct" returnType="" params={[{"type":"mixed","name":"id","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazycallablenew-resolve" visibility="public" name="resolve" returnType="mixed" params={[{"type":"object","name":"ioc","default":null}]}>
Resolve to a closure on a new()
</ApiItem>

### Properties

<ApiItem kind="property" visibility="protected" name="id" type="Lazy|string" default="">
</ApiItem>

### Methods

<h4 id="containerresolverlazycallablenew-__construct"><code>__construct()</code></h4>

```php
public function __construct( mixed $id );
```

<h4 id="containerresolverlazycallablenew-resolve"><code>resolve()</code></h4>

```php
public function resolve( object $ioc ): mixed;
```

Resolve to a closure on a new()

## Container\Resolver\Lazy\CsEnv

Class

- [`Phalcon\Container\Resolver\Lazy\Lazy`](#containerresolverlazylazy)
- [`Phalcon\Container\Resolver\Lazy\Env`](#containerresolverlazyenv)
- **`Phalcon\Container\Resolver\Lazy\CsEnv`**

`Phalcon\Container\Exceptions\EnvNotDefined` · `Phalcon\Contracts\Container\ContainerTypes`

### Method Summary

<ApiItem href="#containerresolverlazycsenv-resolve" visibility="public" name="resolve" returnType="array" params={[{"type":"object","name":"ioc","default":null}]}>
Resolve the getEnv() from keys as a comma separated list
</ApiItem>

### Methods

<h4 id="containerresolverlazycsenv-resolve"><code>resolve()</code></h4>

```php
public function resolve( object $ioc ): array;
```

Resolve the getEnv() from keys as a comma separated list

## Container\Resolver\Lazy\Env

Class

- [`Phalcon\Container\Resolver\Lazy\Lazy`](#containerresolverlazylazy)
- **`Phalcon\Container\Resolver\Lazy\Env`**
- [`Phalcon\Container\Resolver\Lazy\CsEnv`](#containerresolverlazycsenv)
- [`Phalcon\Container\Resolver\Lazy\EnvDefault`](#containerresolverlazyenvdefault)

`Phalcon\Container\Exceptions\EnvNotDefined`

### Method Summary

<ApiItem href="#containerresolverlazyenv-__construct" visibility="public" name="__construct" returnType="" params={[{"type":"string","name":"varname","default":null},{"type":"string|null","name":"vartype","default":"null"}]}>
</ApiItem>
<ApiItem href="#containerresolverlazyenv-resolve" visibility="public" name="resolve" returnType="mixed" params={[{"type":"object","name":"ioc","default":null}]}>
Resolve an environment variable
</ApiItem>
<ApiItem href="#containerresolverlazyenv-cast" visibility="protected" name="cast" returnType="mixed" params={[{"type":"mixed","name":"value","default":null}]}>
Cast a value to the defined type (if any)
</ApiItem>
<ApiItem href="#containerresolverlazyenv-getenv" visibility="protected" name="getEnv" returnType="string" params={[]}>
Return the env value
</ApiItem>

### Properties

<ApiItem kind="property" visibility="protected" name="varname" type="string" default="">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="vartype" type="string|null" default="null">
</ApiItem>

### Methods

<h4 id="containerresolverlazyenv-__construct"><code>__construct()</code></h4>

```php
public function __construct(
string $varname,
string|null $vartype = null
);
```

<h4 id="containerresolverlazyenv-resolve"><code>resolve()</code></h4>

```php
public function resolve( object $ioc ): mixed;
```

Resolve an environment variable

<h4 id="containerresolverlazyenv-cast"><code>cast()</code></h4>

```php
protected function cast( mixed $value ): mixed;
```

Cast a value to the defined type (if any)

<h4 id="containerresolverlazyenv-getenv"><code>getEnv()</code></h4>

```php
protected function getEnv(): string;
```

Return the env value

## Container\Resolver\Lazy\EnvDefault

Class

- [`Phalcon\Container\Resolver\Lazy\Lazy`](#containerresolverlazylazy)
- [`Phalcon\Container\Resolver\Lazy\Env`](#containerresolverlazyenv)
- **`Phalcon\Container\Resolver\Lazy\EnvDefault`**

`Phalcon\Container\Exceptions\EnvNotDefined`

### Method Summary

<ApiItem href="#containerresolverlazyenvdefault-__construct" visibility="public" name="__construct" returnType="" params={[{"type":"string","name":"varname","default":null},{"type":"mixed","name":"defaultValue","default":null},{"type":"string|null","name":"vartype","default":"null"}]}>
</ApiItem>
<ApiItem href="#containerresolverlazyenvdefault-resolve" visibility="public" name="resolve" returnType="mixed" params={[{"type":"object","name":"ioc","default":null}]}>
Resolve an environment variable, returning the default if not defined
</ApiItem>

### Methods

<h4 id="containerresolverlazyenvdefault-__construct"><code>__construct()</code></h4>

```php
public function __construct(
string $varname,
mixed $defaultValue,
string|null $vartype = null
);
```

<h4 id="containerresolverlazyenvdefault-resolve"><code>resolve()</code></h4>

```php
public function resolve( object $ioc ): mixed;
```

Resolve an environment variable, returning the default if not defined

## Container\Resolver\Lazy\FunctionCall

Class

- [`Phalcon\Container\Resolver\Lazy\Lazy`](#containerresolverlazylazy)
- **`Phalcon\Container\Resolver\Lazy\FunctionCall`**

`Phalcon\Contracts\Container\ContainerTypes`

### Method Summary

<ApiItem href="#containerresolverlazyfunctioncall-__construct" visibility="public" name="__construct" returnType="" params={[{"type":"string","name":"functionName","default":null},{"type":"array","name":"arguments","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazyfunctioncall-resolve" visibility="public" name="resolve" returnType="mixed" params={[{"type":"object","name":"ioc","default":null}]}>
Resolve a function
</ApiItem>

### Properties

<ApiItem kind="property" visibility="protected" name="arguments" type="array" default="">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="functionName" type="string" default="">
</ApiItem>

### Methods

<h4 id="containerresolverlazyfunctioncall-__construct"><code>__construct()</code></h4>

```php
public function __construct(
string $functionName,
array $arguments
);
```

<h4 id="containerresolverlazyfunctioncall-resolve"><code>resolve()</code></h4>

```php
public function resolve( object $ioc ): mixed;
```

Resolve a function

## Container\Resolver\Lazy\Get

Class

- [`Phalcon\Container\Resolver\Lazy\Lazy`](#containerresolverlazylazy)
- **`Phalcon\Container\Resolver\Lazy\Get`**

`Phalcon\Contracts\Container\Service\Collection`

### Method Summary

<ApiItem href="#containerresolverlazyget-__construct" visibility="public" name="__construct" returnType="" params={[{"type":"mixed","name":"id","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazyget-resolve" visibility="public" name="resolve" returnType="mixed" params={[{"type":"object","name":"ioc","default":null}]}>
Resolve a shared instance
</ApiItem>

### Properties

<ApiItem kind="property" visibility="protected" name="id" type="Lazy|string" default="">
</ApiItem>

### Methods

<h4 id="containerresolverlazyget-__construct"><code>__construct()</code></h4>

```php
public function __construct( mixed $id );
```

<h4 id="containerresolverlazyget-resolve"><code>resolve()</code></h4>

```php
public function resolve( object $ioc ): mixed;
```

Resolve a shared instance

## Container\Resolver\Lazy\GetCall

Class

- [`Phalcon\Container\Resolver\Lazy\Lazy`](#containerresolverlazylazy)
- **`Phalcon\Container\Resolver\Lazy\GetCall`**

`Phalcon\Contracts\Container\ContainerTypes` · `Phalcon\Contracts\Container\Service\Collection`

### Method Summary

<ApiItem href="#containerresolverlazygetcall-__construct" visibility="public" name="__construct" returnType="" params={[{"type":"mixed","name":"id","default":null},{"type":"string","name":"method","default":null},{"type":"array","name":"arguments","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazygetcall-resolve" visibility="public" name="resolve" returnType="mixed" params={[{"type":"object","name":"ioc","default":null}]}>
Resolve a shared instance method call
</ApiItem>

### Properties

<ApiItem kind="property" visibility="protected" name="arguments" type="array" default="">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="id" type="Lazy|string" default="">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="method" type="string" default="">
</ApiItem>

### Methods

<h4 id="containerresolverlazygetcall-__construct"><code>__construct()</code></h4>

```php
public function __construct(
mixed $id,
string $method,
array $arguments
);
```

<h4 id="containerresolverlazygetcall-resolve"><code>resolve()</code></h4>

```php
public function resolve( object $ioc ): mixed;
```

Resolve a shared instance method call

## Container\Resolver\Lazy\Lazy

Abstract

- **`Phalcon\Container\Resolver\Lazy\Lazy`** - implements [`Phalcon\Contracts\Container\Resolver\Resolvable`](/5.20/api/phalcon_contracts/#contractscontainerresolverresolvable)
- [`Phalcon\Container\Resolver\Lazy\ArrayValues`](#containerresolverlazyarrayvalues)
- [`Phalcon\Container\Resolver\Lazy\Call`](#containerresolverlazycall)
- [`Phalcon\Container\Resolver\Lazy\CallableGet`](#containerresolverlazycallableget)
- [`Phalcon\Container\Resolver\Lazy\CallableNew`](#containerresolverlazycallablenew)
- [`Phalcon\Container\Resolver\Lazy\Env`](#containerresolverlazyenv)
- [`Phalcon\Container\Resolver\Lazy\FunctionCall`](#containerresolverlazyfunctioncall)
- [`Phalcon\Container\Resolver\Lazy\Get`](#containerresolverlazyget)
- [`Phalcon\Container\Resolver\Lazy\GetCall`](#containerresolverlazygetcall)
- [`Phalcon\Container\Resolver\Lazy\NewCall`](#containerresolverlazynewcall)
- [`Phalcon\Container\Resolver\Lazy\NewInstance`](#containerresolverlazynewinstance)
- [`Phalcon\Container\Resolver\Lazy\StaticCall`](#containerresolverlazystaticcall)

`Phalcon\Contracts\Container\ContainerTypes` · `Phalcon\Contracts\Container\Resolver\Resolvable`

### Method Summary

<ApiItem href="#containerresolverlazylazy-__invoke" visibility="public" name="__invoke" returnType="mixed" params={[{"type":"object","name":"ioc","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazylazy-resolve" visibility="public" name="resolve" returnType="mixed" params={[{"type":"object","name":"ioc","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazylazy-resolveargument" visibility="protected" name="resolveArgument" returnType="mixed" params={[{"type":"object","name":"ioc","default":null},{"type":"mixed","name":"argument","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazylazy-resolvearguments" visibility="protected" name="resolveArguments" returnType="array" params={[{"type":"object","name":"ioc","default":null},{"type":"array","name":"arguments","default":null}]}>
</ApiItem>

### Methods

<h4 id="containerresolverlazylazy-__invoke"><code>__invoke()</code></h4>

```php
public function __invoke( object $ioc ): mixed;
```

<h4 id="containerresolverlazylazy-resolve"><code>resolve()</code></h4>

```php
abstract public function resolve( object $ioc ): mixed;
```

<h4 id="containerresolverlazylazy-resolveargument"><code>resolveArgument()</code></h4>

```php
protected function resolveArgument(
object $ioc,
mixed $argument
): mixed;
```

<h4 id="containerresolverlazylazy-resolvearguments"><code>resolveArguments()</code></h4>

```php
protected function resolveArguments(
object $ioc,
array $arguments
): array;
```

## Container\Resolver\Lazy\LazyFactory

Class

- **`Phalcon\Container\Resolver\Lazy\LazyFactory`**

`Phalcon\Contracts\Container\ContainerTypes`

### Method Summary

<ApiItem href="#containerresolverlazylazyfactory-arrayvalues" visibility="public" name="arrayValues" returnType="ArrayValues" params={[{"type":"array","name":"values","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazylazyfactory-call" visibility="public" name="call" returnType="Call" params={[{"type":"callable","name":"callableObject","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazylazyfactory-callableget" visibility="public" name="callableGet" returnType="CallableGet" params={[{"type":"string","name":"id","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazylazyfactory-callablenew" visibility="public" name="callableNew" returnType="CallableNew" params={[{"type":"string","name":"id","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazylazyfactory-csenv" visibility="public" name="csEnv" returnType="CsEnv" params={[{"type":"string","name":"name","default":null},{"type":"string|null","name":"type","default":"null"}]}>
</ApiItem>
<ApiItem href="#containerresolverlazylazyfactory-env" visibility="public" name="env" returnType="Env" params={[{"type":"string","name":"name","default":null},{"type":"string|null","name":"type","default":"null"}]}>
</ApiItem>
<ApiItem href="#containerresolverlazylazyfactory-envdefault" visibility="public" name="envDefault" returnType="EnvDefault" params={[{"type":"string","name":"name","default":null},{"type":"mixed","name":"defaultValue","default":null},{"type":"string|null","name":"type","default":"null"}]}>
</ApiItem>
<ApiItem href="#containerresolverlazylazyfactory-functioncall" visibility="public" name="functionCall" returnType="FunctionCall" params={[{"type":"string","name":"functionName","default":null},{"type":"array","name":"args","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazylazyfactory-get" visibility="public" name="get" returnType="Get" params={[{"type":"string","name":"id","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazylazyfactory-getcall" visibility="public" name="getCall" returnType="GetCall" params={[{"type":"string","name":"id","default":null},{"type":"string","name":"method","default":null},{"type":"array","name":"args","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazylazyfactory-newcall" visibility="public" name="newCall" returnType="NewCall" params={[{"type":"string","name":"id","default":null},{"type":"string","name":"method","default":null},{"type":"array","name":"args","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazylazyfactory-newinstance" visibility="public" name="newInstance" returnType="NewInstance" params={[{"type":"string","name":"id","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazylazyfactory-staticcall" visibility="public" name="staticCall" returnType="StaticCall" params={[{"type":"string","name":"className","default":null},{"type":"string","name":"method","default":null},{"type":"array","name":"args","default":null}]}>
</ApiItem>

### Methods

<h4 id="containerresolverlazylazyfactory-arrayvalues"><code>arrayValues()</code></h4>

```php
public static function arrayValues( array $values ): ArrayValues;
```

<h4 id="containerresolverlazylazyfactory-call"><code>call()</code></h4>

```php
public static function call( callable $callableObject ): Call;
```

<h4 id="containerresolverlazylazyfactory-callableget"><code>callableGet()</code></h4>

```php
public static function callableGet( string $id ): CallableGet;
```

<h4 id="containerresolverlazylazyfactory-callablenew"><code>callableNew()</code></h4>

```php
public static function callableNew( string $id ): CallableNew;
```

<h4 id="containerresolverlazylazyfactory-csenv"><code>csEnv()</code></h4>

```php
public static function csEnv(
string $name,
string|null $type = null
): CsEnv;
```

<h4 id="containerresolverlazylazyfactory-env"><code>env()</code></h4>

```php
public static function env(
string $name,
string|null $type = null
): Env;
```

<h4 id="containerresolverlazylazyfactory-envdefault"><code>envDefault()</code></h4>

```php
public static function envDefault(
string $name,
mixed $defaultValue,
string|null $type = null
): EnvDefault;
```

<h4 id="containerresolverlazylazyfactory-functioncall"><code>functionCall()</code></h4>

```php
public static function functionCall(
string $functionName,
array $args
): FunctionCall;
```

<h4 id="containerresolverlazylazyfactory-get"><code>get()</code></h4>

```php
public static function get( string $id ): Get;
```

<h4 id="containerresolverlazylazyfactory-getcall"><code>getCall()</code></h4>

```php
public static function getCall(
string $id,
string $method,
array $args
): GetCall;
```

<h4 id="containerresolverlazylazyfactory-newcall"><code>newCall()</code></h4>

```php
public static function newCall(
string $id,
string $method,
array $args
): NewCall;
```

<h4 id="containerresolverlazylazyfactory-newinstance"><code>newInstance()</code></h4>

```php
public static function newInstance( string $id ): NewInstance;
```

<h4 id="containerresolverlazylazyfactory-staticcall"><code>staticCall()</code></h4>

```php
public static function staticCall(
string $className,
string $method,
array $args
): StaticCall;
```

## Container\Resolver\Lazy\NewCall

Class

- [`Phalcon\Container\Resolver\Lazy\Lazy`](#containerresolverlazylazy)
- **`Phalcon\Container\Resolver\Lazy\NewCall`**

`Phalcon\Contracts\Container\ContainerTypes` · `Phalcon\Contracts\Container\Service\Collection`

### Method Summary

<ApiItem href="#containerresolverlazynewcall-__construct" visibility="public" name="__construct" returnType="" params={[{"type":"mixed","name":"id","default":null},{"type":"string","name":"method","default":null},{"type":"array","name":"arguments","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazynewcall-resolve" visibility="public" name="resolve" returnType="mixed" params={[{"type":"object","name":"ioc","default":null}]}>
Resolve a new instance method call
</ApiItem>

### Properties

<ApiItem kind="property" visibility="protected" name="arguments" type="array" default="">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="id" type="string|Lazy" default="">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="method" type="string" default="">
</ApiItem>

### Methods

<h4 id="containerresolverlazynewcall-__construct"><code>__construct()</code></h4>

```php
public function __construct(
mixed $id,
string $method,
array $arguments
);
```

<h4 id="containerresolverlazynewcall-resolve"><code>resolve()</code></h4>

```php
public function resolve( object $ioc ): mixed;
```

Resolve a new instance method call

## Container\Resolver\Lazy\NewInstance

Class

- [`Phalcon\Container\Resolver\Lazy\Lazy`](#containerresolverlazylazy)
- **`Phalcon\Container\Resolver\Lazy\NewInstance`**

`Phalcon\Contracts\Container\Service\Collection`

### Method Summary

<ApiItem href="#containerresolverlazynewinstance-__construct" visibility="public" name="__construct" returnType="" params={[{"type":"mixed","name":"id","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazynewinstance-resolve" visibility="public" name="resolve" returnType="mixed" params={[{"type":"object","name":"ioc","default":null}]}>
Resolve a new instance
</ApiItem>

### Properties

<ApiItem kind="property" visibility="protected" name="id" type="string|Lazy" default="">
</ApiItem>

### Methods

<h4 id="containerresolverlazynewinstance-__construct"><code>__construct()</code></h4>

```php
public function __construct( mixed $id );
```

<h4 id="containerresolverlazynewinstance-resolve"><code>resolve()</code></h4>

```php
public function resolve( object $ioc ): mixed;
```

Resolve a new instance

## Container\Resolver\Lazy\StaticCall

Class

- [`Phalcon\Container\Resolver\Lazy\Lazy`](#containerresolverlazylazy)
- **`Phalcon\Container\Resolver\Lazy\StaticCall`**

`Phalcon\Contracts\Container\ContainerTypes`

### Method Summary

<ApiItem href="#containerresolverlazystaticcall-__construct" visibility="public" name="__construct" returnType="" params={[{"type":"mixed","name":"className","default":null},{"type":"string","name":"method","default":null},{"type":"array","name":"arguments","default":null}]}>
</ApiItem>
<ApiItem href="#containerresolverlazystaticcall-resolve" visibility="public" name="resolve" returnType="mixed" params={[{"type":"object","name":"ioc","default":null}]}>
Resolve a static method call
</ApiItem>

### Properties

<ApiItem kind="property" visibility="protected" name="arguments" type="array" default="">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="className" type="string|Lazy" default="">
</ApiItem>
<ApiItem kind="property" visibility="protected" name="method" type="string" default="">
</ApiItem>

### Methods

<h4 id="containerresolverlazystaticcall-__construct"><code>__construct()</code></h4>

```php
public function __construct(
mixed $className,
string $method,
array $arguments
);
```

<h4 id="containerresolverlazystaticcall-resolve"><code>resolve()</code></h4>

```php
public function resolve( object $ioc ): mixed;
```

Resolve a static method call

## Container\Resolver\Resolver

Class

- **`Phalcon\Container\Resolver\Resolver`** - implements [`Phalcon\Contracts\Container\Resolver\ResolverService`](/5.20/api/phalcon_contracts/#contractscontainerresolverresolverservice)

`Closure` · `Phalcon\Container\Exceptions\CannotResolveParameter` · `Phalcon\Container\Resolver\Lazy\Lazy` · `Phalcon\Contracts\Container\ContainerTypes` · `Phalcon\Contracts\Container\Resolver\ResolverService` · `Phalcon\Contracts\Container\Service\Collection` · `ReflectionClass` · `ReflectionException` · `ReflectionFunction` · `ReflectionMethod` · `ReflectionNamedType` · `ReflectionParameter` · `ReflectionType`

### Method Summary

<ApiItem href="#containerresolverresolver-isresolvableclass" visibility="public" name="isResolvableClass" returnType="bool" params={[{"type":"string","name":"className","default":null}]}>
Is this a resolvable class?
</ApiItem>
<ApiItem href="#containerresolverresolver-resolvecall" visibility="public" name="resolveCall" returnType="mixed" params={[{"type":"object","name":"ioc","default":null},{"type":"callable","name":"callableObject","default":null},{"type":"array","name":"arguments","default":null}]}>
Resolve a call
</ApiItem>
<ApiItem href="#containerresolverresolver-resolveclass" visibility="public" name="resolveClass" returnType="object" params={[{"type":"object","name":"ioc","default":null},{"type":"string","name":"className","default":null},{"type":"array","name":"arguments","default":null}]}>
Resolve a class
</ApiItem>
<ApiItem href="#containerresolverresolver-resolvemethod" visibility="public" name="resolveMethod" returnType="void" params={[{"type":"object","name":"ioc","default":null},{"type":"ReflectionMethod","name":"method","default":null},{"type":"object","name":"instance","default":null}]}>
Resolve a method
</ApiItem>
<ApiItem href="#containerresolverresolver-resolveparameter" visibility="public" name="resolveParameter" returnType="mixed" params={[{"type":"object","name":"ioc","default":null},{"type":"ReflectionParameter","name":"parameter","default":null}]}>
Resolve parameters
</ApiItem>
<ApiItem href="#containerresolverresolver-resolveparameters" visibility="public" name="resolveParameters" returnType="array" params={[{"type":"object","name":"ioc","default":null},{"type":"array","name":"parameters","default":null},{"type":"array","name":"arguments","default":null}]}>
Resolve parameters
</ApiItem>
<ApiItem href="#containerresolverresolver-resolvetype" visibility="public" name="resolveType" returnType="mixed" params={[{"type":"object","name":"ioc","default":null},{"type":"mixed","name":"type","default":null}]}>
type is ReflectionType
</ApiItem>

### Methods

<h4 id="containerresolverresolver-isresolvableclass"><code>isResolvableClass()</code></h4>

```php
public function isResolvableClass( string $className ): bool;
```

Is this a resolvable class?

<h4 id="containerresolverresolver-resolvecall"><code>resolveCall()</code></h4>

```php
public function resolveCall(
object $ioc,
callable $callableObject,
array $arguments
): mixed;
```

Resolve a call

<h4 id="containerresolverresolver-resolveclass"><code>resolveClass()</code></h4>

```php
public function resolveClass(
object $ioc,
string $className,
array $arguments
): object;
```

Resolve a class

<h4 id="containerresolverresolver-resolvemethod"><code>resolveMethod()</code></h4>

```php
public function resolveMethod(
object $ioc,
ReflectionMethod $method,
object $instance
): void;
```

Resolve a method

<h4 id="containerresolverresolver-resolveparameter"><code>resolveParameter()</code></h4>

```php
public function resolveParameter(
object $ioc,
ReflectionParameter $parameter
): mixed;
```

Resolve parameters

<h4 id="containerresolverresolver-resolveparameters"><code>resolveParameters()</code></h4>

```php
public function resolveParameters(
object $ioc,
array $parameters,
array $arguments
): array;
```

Resolve parameters

<h4 id="containerresolverresolver-resolvetype"><code>resolveType()</code></h4>

```php
public function resolveType(
object $ioc,
mixed $type
): mixed;
```

type is ReflectionType

Source: https://docs.phalcon.io/5.20/api/phalcon_container/index.mdx
