2017-25 © Pedro Peláez
 

library imbrix

Dependency Manager for PHP projects

image

babacooll/imbrix

Dependency Manager for PHP projects

  • Friday, October 2, 2015
  • by Babacooll
  • Repository
  • 1 Watchers
  • 2 Stars
  • 22 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 4 Versions
  • 0 % Grown

The README.md

Imbrix

SensioLabsInsight Scrutinizer Code Quality Code Coverage Build Status, (*1)

Imbrix is a fully unit tested dependency manager suited for small PHP projects., (*2)

Packagist link, (*3)

Still in progress

  • Wrapper for DependencyManager to get static access to it (singleton way ?)

Installation

Imbrix is available through composer :, (*4)

$ php composer.phar require babacooll/imbrix ~0.0.3

How to use

All you need is to instanciate a new DependencyManager :, (*5)

<?php

use Imbrix\DependencyManager;

$depManager = new DependencyManager();

This DependencyManager will contains both your services and parameters., (*6)

Services

You can add your services easily with the addService method, first parameter being your service name and second a closure returning your service :, (*7)

<?php

$depManager->addService('myService', function () {
    return new MyService();
});

You can retrieve your service with the get method :, (*8)

<?php

$depManager->get('myService');

Parameters

Same method exists for parameters, first parameter being your parameter name and second is string value :, (*9)

<?php

$depManager->addParameter('myParameter', 'value');

You can retrieve your parameter with the get method :, (*10)

<?php

$depManager->get('myParameter');

Injection

You can inject parameters into services and services into services (as many times you need it). All you need is the name of the service/parameter you want to inject :, (*11)

<?php

// Injection of a parameter into a service

$depManager = new DependencyManager();

$depManager->addParameter('myParameter', 'value');
$depManager->addService('myService', function ($myParameter) {
    return new MyService($myParameter);
});

The order of the parameters/service definition does not matter as your service will be instanciate after the whole definition when you do call the get method (not before !)., (*12)

A more complex example as following :, (*13)

<?php

$depManager = new DependencyManager();

$depManager->addParameter('myParameter', 'value');
$depManager->addService('myService', function ($myParameter) {
    return new MyService($myParameter);
});
$depManager->addService('mySecondService', function ($myService, $myParameter) {
    return new MySecondService($myService, $myParameter);
});

// We suppose MySecondService has both a getMyService() and a getParameter() method and the Service a getParameter()

echo $depManager->get('mySecondService')->getMyService()->getParameter();
echo $depManager->get('mySecondService')->getParameter();

// Both will return "value"

Feel free to add feedbacks !, (*14)

The Versions

02/10 2015

dev-master

9999999-dev

Dependency Manager for PHP projects

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

The Development Requires

by Avatar Babacooll

28/04 2015

v0.0.3

0.0.3.0

Dependency Manager for PHP projects

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

The Development Requires

by Avatar Babacooll

02/04 2015

v0.0.2

0.0.2.0

Dependency Manager for PHP projects

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

The Development Requires

by Avatar Babacooll

01/04 2015

v0.0.1

0.0.1.0

Dependency Manager for PHP projects

  Sources   Download

The Requires

  • php >=5.4.0

 

The Development Requires

by Avatar Babacooll