Skip to content

LiLinen/dic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Dependency Injection Container

Very slim PSR-11 compatible Dependency Injection Container (DIC) example. Inspired by Twittee.

Installation

composer require lilinen/dic

Usage

<?php

use LiLinen\Dic\Container;

class ExampleClient
{
    private $dependency;
    
    public function __construct(ExampleDependency $dependency) 
    {
        $this->dependency = $dependency;
    }
    
    public function foo()
    {
        return $this->dependency->bar();
    }
}

class ExampleDependency
{
    public function bar() { return 'Baz'; }
}

$dic = new Container();

$dic->set('dependency', function () {
    return new ExampleDependency();
});
$dic->set('client', function (Container $dic) {
    return new ExampleClient($dic->get('dependency'));
});

echo $dic->get('client')->foo();

About

Very slim PSR-11 compatible Dependency Injection Container (DIC) example.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages