Skip to content

Veejayspb/container

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DI container

The simplest implementation of a dependency injection container with auto-wiring.

License: MIT Scrutinizer Code Quality

Installation

composer require veejay/container

Usage

Basic usage.

<?php

use Veejay\Container\Container;

interface SomeInterface {}
class SomeClass implements SomeInterface {}

$container = new Container;

// Class name style
$container->set(SomeInterface::class, SomeClass::class);

// Object style
$object = new SomeClass;
$container->set(SomeInterface::class, $object);

// Closure style (arrow function)
$container->set(SomeInterface::class, fn() => new SomeClass);

// Closure style (anonymous function)
$container->set(SomeInterface::class, function (Container $container) {
    return new SomeClass;
});

$service = $container->get(SomeInterface::class); // SomeClass

About

DI container

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages