fitdev-pro/di
Composer 安装命令:
composer require fitdev-pro/di
包简介
PHP 7.0 Dependency Container Implementation.
README 文档
README
PHP 7.0 Dependency Container Implementation.
Installation
composer require fitdev-pro/di
Usage
Base usage
<?php use FitdevPro\DI\Creators\CreatorFactory; use FitdevPro\DI\DependencyContainer; $dc = new DependencyContainer(new CreatorFactory()); //add service $dc->add('config', new stdClass()); //check if service exists if($dc->has('config')) { //get service $config = $dc->get('config'); //OR $config = $dc->getConfig(); }
Create complicated services
<?php use FitdevPro\DI\Creators\CreatorFactory; use FitdevPro\DI\DependencyContainer; use FitdevPro\DI\Options\Actions\CallMethod; use FitdevPro\DI\Options\Actions\SetProperty; use FitdevPro\DI\Options\Values\ClassValue; use FitdevPro\DI\Options\Values\ServiceValue; use FitdevPro\DI\Options\Values\Value; $dc = new DependencyContainer(new CreatorFactory()); //add service $dc->add('bar', \MyFoo\Bar::class, [ "arguments" => [ // inject to constructor new Value(123), //simply value new ServiceValue($dc, 'serviceName'), //other service new ClassValue('Foo\Bar\Bazz'), //new object of some class ], "properties" => [ // inject to property new SetProperty('foo', new Value(123)), new SetProperty('bar', new ServiceValue($dc, 'serviceName')), new SetProperty('bazz', new ClassValue('Foo\Bar\Bazz')), ], "calls" => [ // call service method with arguments new CallMethod('setFoo', [new ServiceValue($dc, 'serviceName'), new Value('abc')]), ], ] );
Contribute
Please feel free to fork and extend existing or add new plugins and send a pull request with your changes! To establish a consistent code quality, please provide unit tests for all your changes and may adapt the documentation.
License
The MIT License (MIT). Please see License File for more information.
统计信息
- 总下载量: 37
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-07-06