GitHub - elephox-dev/di: [READONLY] This is the DI module of the Elephox framework.
This module is used by Elephox to provide a dependency injection container. It also has mechanisms to resolve arguments for functions and callbacks.
<?php use Elephox\DI\ServiceCollectionOld; $container = new ServiceCollectionOld(); $container->addSingleton(stdClass::class, stdClass::class, fn () => new stdClass()); $foo = function (stdClass $object) { return $object; } $instance = $container->resolver()->call($foo); // $instance is an instance of stdClass // multiple calls to $container->resolver()->callback($foo) will return the same instance, since it was added as a singleton