omerucel / di
该包最新版本(1.2)没有可用的许可证信息。
1.2
2017-07-05 19:20 UTC
Requires
- psr/container: 1.0.0
Requires (Dev)
- phpunit/php-code-coverage: 2.0.5
- phpunit/phpunit: 4.0.14
This package is not auto-updated.
Last update: 2024-09-22 07:57:01 UTC
README
关于
一个简单的依赖注入(DI)类。
Composer
{ "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!');
使用服务实现
<?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');