fastd / container
FastD Container
v8.0.0
2026-05-28 09:44 UTC
Requires
- php: >=8.2
- psr/container: ^2.0
Requires (Dev)
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2026-05-28 09:45:06 UTC
README
FastD Container 是一个轻量级但功能强大的PHP依赖注入容器,完全实现PSR-11标准接口。它提供了简洁易用的API来管理应用程序中的服务依赖关系,支持多种服务类型、自动数组合并、单例模式和服务提供者机制。
文档
📚 详细的文档请查看 /docs 目录:
环境要求
- PHP版本: >= 8.2 (推荐使用最新稳定版)
- 依赖标准: PSR-11 Container Interface ^2.0
- 构建工具: Composer 2.x
- 测试框架: PHPUnit ^9.0 (仅开发环境)
安装
使用Composer安装:
composer require fastd/container
基础使用
1. 创建容器实例
use FastD\Container\Container; $container = new Container();
2. 注册服务
// 注册类服务 $container->add('logger', Monolog\Logger::class); // 注册闭包服务 $container->add('database', function() { return new PDO('sqlite::memory:'); }); // 注册配置数组 $container->add('config', [ 'app_name' => 'My Application', 'debug' => true ]);
3. 获取服务实例
// 获取服务实例 (PSR-11 标准方法) $logger = $container->get('logger'); $config = $container->get('config'); // 检查服务是否存在 if ($container->has('logger')) { $logger = $container->get('logger'); }
4. 数组访问支持
// 使用数组语法操作容器 $container['cache'] = RedisCache::class; if (isset($container['cache'])) { $cache = $container['cache']; } unset($container['cache']);
更多使用示例请参考 完整文档。
测试
运行测试套件:
vendor/bin/phpunit
贡献
欢迎任何形式的贡献!您可以通过以下方式参与项目:
- 🐛 报告问题
- 💡 提交功能建议
- 🔧 贡献代码和文档
- ⭐ Star项目支持
请确保在提交Pull Request前:
- 编写相应的测试用例
- 确保所有测试通过
- 遵循项目的代码风格
- 更新相关文档