Skip to content

reinvanoyen/conject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Conject

Usage

Default (retreive shared instance each time)

$container = new Container();

$container->set('DependingClass', function () use ($container) {
    return new DependingClass($c->get('SomeDependency'));
});

$container->set('SomeDependency', function () use ($container) {
    return new SomeDependency();
});

// Get instance of DependingClass (with SomeDependency injected!)
$depending = $container->get('DependingClass');
$depending2 = $container->get('DependingClass');

var_dump( $depending === $depending2 ); // true

Factory (retreive new instance each time)

$container = new Container();

$container->factory('DependingClass', function () use ($container) {
    return new DependingClass($c->get('SomeDependency'));
});

$container->factory('SomeDependency', function () use ($container) {
    return new SomeDependency();
});

// Get instance of DependingClass (with SomeDependency injected!)
$depending = $container->get('DependingClass');
$depending2 = $container->get('DependingClass');

var_dump( $depending === $depending2 ); // false

Releases

No releases published

Packages

No packages published

Languages