Skip to content

Very very simple container example that injects dependency on class constructor

Notifications You must be signed in to change notification settings

atakansn/PHPSimpleConstructorInjection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

PHP Simple Constructor Injection

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

About

Very very simple container example that injects dependency on class constructor

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages