phutureproof/guardian

Dependency injector

3.0.0 2016-04-14 22:18 UTC

This package is not auto-updated.

Last update: 2024-06-22 17:35:17 UTC


README

Guardian

Build Status

Master

Build Status

Develop

Build Status

Code Climate

Code Climate

Basic Usage

Installation

via composer

composer require phutureproof/guardian

or add this to your composer.json

"require": {
  "phutureproof/guardian": "~3"
}

or manually grab the src folder and put the files where ever you want.

Usage

Create your dependencies and register functions to return instances of the objects in the container

Guardian::register('dependency.name', function()
{
    return new Dependency();
});

Grab an instance of the dependency

$instance = Guardian::make('dependency.name');

Register a singleton

Guardian::register('singleton.dependency.name', function () {
    static $instance;
    if (is_null($instance)) {
        $instance = new Dependency();
    }
    return $instance;
});