abstract class Manager

Traits

Properties

protected Repository $config

The configuration repository instance.

protected Closure> $customCreators

The registered custom driver creators.

protected array<array-key, mixed> $drivers

The array of created "drivers".

Methods

Closure|null
bindCallbackToSelf(Closure $callback)

Bind the provided callback to the class instance.

__construct(Container $container)

Create a new manager instance.

string|null
getDefaultDriver()

Get the default driver name.

mixed
driver(UnitEnum|string|null $driver = null)

Get a driver instance.

mixed
createDriver(string $driver)

Create a new driver instance.

string|null
getCreatorMethod(string $driver)

Get the name of the manager's creator method for the given driver.

mixed
callCustomCreator(string $driver)

Call a custom driver creator.

extend(string $driver, Closure $callback)

Register a custom driver creator Closure.

array
getDrivers()

Get all of the created "drivers".

getContainer()

Get the container instance used by the manager.

setContainer(Container $container)

Set the container instance used by the manager.

forgetDrivers()

Forget all of the resolved driver instances.

mixed
__call(string $method, array $parameters)

Dynamically call the default driver instance.

Details

protected Closure|null bindCallbackToSelf(Closure $callback)

Bind the provided callback to the class instance.

Parameters

Closure $callback

Return Value

Closure|null

Exceptions

ReflectionException

at line 44
__construct(Container $container)

Create a new manager instance.

Parameters

Container $container

at line 53
abstract string|null getDefaultDriver()

Get the default driver name.

Return Value

string|null

at line 60
mixed driver(UnitEnum|string|null $driver = null)

Get a driver instance.

Parameters

UnitEnum|string|null $driver

Return Value

mixed

Exceptions

InvalidArgumentException

at line 92
protected mixed createDriver(string $driver)

Create a new driver instance.

Parameters

string $driver

Return Value

mixed

Exceptions

InvalidArgumentException

at line 113
protected string|null getCreatorMethod(string $driver)

Get the name of the manager's creator method for the given driver.

Parameters

string $driver

Return Value

string|null

at line 124
protected mixed callCustomCreator(string $driver)

Call a custom driver creator.

Parameters

string $driver

Return Value

mixed

at line 140
Manager extend(string $driver, Closure $callback)

Register a custom driver creator Closure.

Anonymous closures run in this manager's class scope; non-static closures also receive the manager as $this.

The callback persists in the singleton's customCreators array for the worker lifetime and applies to every subsequent driver resolution.

Parameters

string $driver
Closure $callback

Return Value

Manager

at line 160
array getDrivers()

Get all of the created "drivers".

Return Value

array

at line 168
Container getContainer()

Get the container instance used by the manager.

Return Value

Container

at line 182
Manager setContainer(Container $container)

Set the container instance used by the manager.

Swaps the singleton's container and configuration references; per-request use races across coroutines and breaks every concurrent driver resolution through this manager.

Parameters

Container $container

Return Value

Manager

at line 199
Manager forgetDrivers()

Forget all of the resolved driver instances.

Clears the singleton's driver cache; concurrent coroutines may already hold references that next resolution will not share.

Return Value

Manager

at line 210
mixed __call(string $method, array $parameters)

Dynamically call the default driver instance.

Parameters

string $method
array $parameters

Return Value

mixed