search hotlink icon profile hotlink icon
bo Public | 1.x.x

On This Page

This page explains the methods you can use on the Valvoid\Box\Box object:

                $box = new Box;
            

By default, Box is shareable. The container provides the same instance of itself to dependencies. To disable this behavior, pass false to the constructor:

                $box = new Box(false);
            

In that case, the container will create a new instance each time a class depends on Box.

Inject Method

The inject method sets default constructor arguments for a given class:

                $box->inject(Any::class, parameter: argument);
            

These arguments are passed by name whenever the container creates an instance and are used unless overridden by named arguments provided to the get method.

Recycle Method

The recycle method marks one or more classes as shareable. The container will instantiate each class only once and return the same object whenever it is requested or injected.

                    $box->recycle(Any::class);
                

Map Method

The map method connects a concrete implementation to an abstraction. Whenever the abstraction (interface, abstract class, or parent class) is requested or injected, the container will provide the mapped implementation.

                $box->map(Any::class, Abstraction::class);
            

Get Method

The get method returns an instance of the given class and accepts named arguments that override the defaults set by the inject method for the current resolution:

                $box->get(Any::class, parameter: argument);
            

Note

On-demand arguments apply to all dependencies in the construction chain and are consumable, with the first matching parameter removed from the list.

Unset Method

The unset method removes all settings for a given class, including shareable references, default constructor arguments, and implementation mappings.

                    $box->unset(Any::class);