thumbtack/ttinjector
最新稳定版本:1.0.4
Composer 安装命令:
composer require thumbtack/ttinjector
包简介
Construct anything using dependency injection
README 文档
README
This is a simple dependency injector.
It works in two stages. First, you register all the dependencies and describe how they relate to each other. Then, you build an injector out of those dependencies that can inject the values you have added.
Installation
To install, use composer and run:
composer require thumbtack/ttinjector
How to use the injector:
1. Create a Dependencies object:
use TT\injector\Dependencies; $dependencies = new Dependencies();
2. Add some dependencies:
// Use register_value() to add constant values. $dependencies->register_value('current_user_id', 12345); // Use register_factory() to add things you don't want to construct unless used... $dependencies->register_factory('db_connection', [], function() { return Database::Connect(); }); // ...Or things that have dependencies of their own. $dependencies->register_factory( 'users_source' ['db_connection'], function ($db) { return function($user_id) use ($db) { return $db->query('users')->where_equals('user_id', $user_id); }; } );
3. Build the injector:
$injector = $dependencies->build_injector();
The build_injector() function will check to make sure there aren't any errors in the dependencies
you've set up (missing dependencies or dependency cycles).
Injector objects are immutable.
4. Inject your dependencies!
function current_user($current_user_id, $users_source) { return $users_source($current_user_id); } $user = $injector->inject('current_user', ['current_user_id', 'users_source']);
统计信息
- 总下载量: 2.32k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-02-13