jaeger-app / di
此包已被废弃,不再维护。未建议替代包。
依赖注入容器。
0.1.1
2016-07-05 02:26 UTC
Requires
- php: >=5.4.0
- pimple/pimple: 3.*
Requires (Dev)
- phpunit/phpunit: 4.*
This package is auto-updated.
Last update: 2023-11-18 01:51:23 UTC
README
一个简单的依赖注入容器,用于与 Jaeger(或独立)一起使用。
安装
将 jaeger-app/di
添加到你的 composer.json
文件中作为需求
$ composer require jaeger-app/di
添加服务
理想情况下,像所有 Jaeger 类一样,你应该扩展 Jaeger\Bootstrap
并在添加自己的服务之前初始化父服务,如下所示
use \JaegerApp\Di; class MyDi extends Di { public function getServices() { $this->container = parent::getServices(); //init existing services //add new service $this->container['my_service'] = function ($c) { $settings = new NewService; return $settings; }; return $this->container; } }
你还可以通过使用 setService($name, \Closure $function)
方法在运行时添加新的服务。
use \JaegerApp\Di; $di = new Di(); $callable = function() { return 'foo to the who'; }; $di->setService('test_service', $callable);
调用服务示例
use \JaegerApp\Di; $di = new Di(); //get all the services $services = $di->getServices(); //get a specific service $db = $services['db']; //or get specific service directly $db = $di->getService('db');