tomrf/autowire
Composer 安装命令:
composer require tomrf/autowire
包简介
autowire dependency injection from PSR-11 containers
README 文档
README
A simple PHP library that facilitates autowired dependency injection by fetching class constructor dependencies from one or more PSR-11 containers.
Autowire uses the PHP reflection API to peek at constructor parameter types and injects required and optional dependencies from assigned containers.
Installation
Installation via composer:
composer require tomrf/autowire
Usage
$autowire = new \Tomrf\Autowire\Autowire(); $instance = $autowire->instantiateClass(MyClassWithDependencies::class, $container);
Testing
composer test
License
This project is released under the MIT License (MIT). See LICENSE for more information.
Documentation
📂 Tomrf\Autowire\Autowire::class
Minimal class that facilitates dependency injection by autowiring class constructor dependencies from one or more PSR-11 containers.
resolveDependencies()
Returns array of resolved dependencies for a class constructor.
Dependencies are resolved from one or more PSR-11 containers.
Throws AutowireException if a required dependency could not be met using available containers.
public function resolveDependencies( object|string $classOrObject, Psr\Container\ContainerInterface $containers ): array @throws \Tomrf\Autowire\AutowireException @return (null|object)[]
instantiateClass()
Return a new instance of a class after successfully resolving all required dependencies using provided containers.
Throws AutowireException if the class does not exist or if a required dependency could not be met using available containers.
public function instantiateClass( string $class, Psr\Container\ContainerInterface $containers ): object @throws \Tomrf\Autowire\AutowireException
listDependencies()
Returns an array of all dependencies (method parameters) and relevant attributes for a given class or object/callable.
public function listDependencies( object|string $classOrObject, string $methodName = '__construct' ): array @throws \Tomrf\Autowire\AutowireException @return array<string,bool|string>[] Array of parameters with attributes
Generated 2022-06-28T01:41:09+02:00 using 📚tomrf/readme-gen
tomrf/autowire 适用场景与选型建议
tomrf/autowire 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 639 次下载、GitHub Stars 达 1, 最近一次更新时间为 2021 年 10 月 21 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「dependency injection」 「container」 「reflection」 「autowire」 「PSR-11」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 tomrf/autowire 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 tomrf/autowire 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 tomrf/autowire 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A fast and intuitive dependency injection container.
Dependency injection container for the Monolith framework.
The PSR-11 container bridges
Http Microframework for Hack
PHP Dependency Injection Container
统计信息
- 总下载量: 639
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 9
- 依赖项目数: 3
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-10-21