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.

Installs: 7

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

pkg:composer/php-simple/constructor-injection

v1 2023-02-01 17:35 UTC

This package is auto-updated.

Last update: 2025-09-29 03:13:57 UTC


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
//        (
//        )
//
//)