php-simple / constructor-injection
There is no license information available for the latest version (v1) of this package.
Very very simple container example that injects dependency on class constructor.
v1
2023-02-01 17:35 UTC
Requires
- psr/container: ^2.0
README
Very very simple container example that injects dependency on class constructor
Install
composer require php-simple/constructor-injection
Usage/Examples
bind() method
require_once __DIR__ . '/vendor/autoload.php'; class User { public $foo; public function __construct(Foo $foo) { $this->foo = $foo } public function foo() { return $this->foo->sayFoo(); } } class Foo { public function sayFoo() { return 'Foooo' } } $container = new \ConstructorInjection\Container(); $container->bind(User::class); $userInstance = $container->getBinding(User::class) // Foooo $userInstance->foo();
bind() method with closure
$container->bind(User::class,function (){ return new User(); }); $userInstance = $container->getBinding(User::class) // Foooo $userInstance->foo();
get() method
$userInstance = $container->get(User::class); // Foooo $userInstance->foo();
getBindings method()
- returns all bind classes
$bindings = $container->getBindings(); print_r($bindings); //Array //( // [User] => Closure Object // ( // ) // //)