Skip to content
Corex

ContainerInterface

Corex\Container\ContainerInterface · interface · Core layer

The Corex dependency-injection container contract. Extends PSR-11 (get/has) with the Laravel-inspired registration and resolution surface every Corex module programs against (spec FR-005).

bind(string $id, Closure|string|null $concrete): void

Section titled “bind(string $id, Closure|string|null $concrete): void”

Register a transient binding: a new instance is built on every resolution.

singleton(string $id, Closure|string|null $concrete): void

Section titled “singleton(string $id, Closure|string|null $concrete): void”

Register a shared binding: one instance is built once and reused for the lifecycle.

instance(string $id, object $instance): object

Section titled “instance(string $id, object $instance): object”

Register an already-built object as a shared binding.

make(string $id, array $parameters): mixed

Section titled “make(string $id, array $parameters): mixed”

Resolve $id, autowiring constructor dependencies.