dev-master
9999999-dev https://github.com/omerucel/di
The Requires
The Development Requires
by Ömer ÜCEL
php di
1.2
1.2.0.0 https://github.com/omerucel/di
The Requires
The Development Requires
by Ömer ÜCEL
php di
Wallogit.com
2017 © Pedro Peláez
A simple DI class., (*2)
{
"require": {
"omerucel/di": "dev-master"
}
}
<?php
$environment = getenv('APPLICATION_ENV');
$di = new OU\DI();
$di->setShared('config', function ($di) use ($environment) {
return new Config(realpath(__DIR__ . '/' . $environment . '.php');
});
$di->setShared('logger', function ($di) {
return new Logger($di->get('config')->file_path);
});
/**
* @var Logger $logger
*/
$logger = $di->get('logger');
$logger->info('Hello world!');
$di->reloadShared('logger')->info('Hello world!');
With Service implementation:, (*3)
<?php
namespace Project\Service;
class ConfigService implements \OU\DI\Service
{
public function getService(\OU\DI $di)
{
$environment = $di->get('environment');
return new Config(realpath(__DIR__ . '/' . $environment . '.php');
}
}
<?php
$di = new OU\DI();
$di->setShared('environment', 'development');
$di->setSharedService('config', 'Project\Service\ConfigService');
$config = $di->get('config');
php di
php di