hyperf-helper/dependency
Composer 安装命令:
composer require hyperf-helper/dependency
包简介
hyperf hylper dependency
关键字:
README 文档
README
Badges
Introduction
Easy, simple and elegant way to add dependencies in Hyperf
Start
composer require hyperf-helper/dependency
Annotation Params
| name | type | default | comment |
|---|---|---|---|
| identifier | string | '' | Dependency identifier. if empty, default value is the annotation className |
| priority | int | 1 | If there are multiple identical Dependency identifiers, the one with the highest priority will be selected |
How to use
- We need to add dependencies collected from
DependencyCollectortoContainer
<?php # config/container.php <?php /** * Initialize a dependency injection container that implemented PSR-11 and return the container. */ declare(strict_types=1); /** * This file is part of Hyperf. * * @link https://www.hyperf.io * @document https://hyperf.wiki * @contact group@hyperf.io * @license https://github.com/hyperf/hyperf/blob/master/LICENSE */ use Hyperf\Di\Container; use Hyperf\Di\Definition\DefinitionSourceFactory; use Hyperf\Utils\ApplicationContext; $container = new Container((new DefinitionSourceFactory(true))()); if (! $container instanceof \Psr\Container\ContainerInterface) { throw new RuntimeException('The dependency injection container is invalid.'); } /********* start ********/ // Add this line between `new Container` and `setContainer()` \HyperfHelper\Dependency\Annotation\Collector\DependencyCollector::walk([$container, 'define']); /********* end ********/ return ApplicationContext::setContainer($container);
- Use
Dependencyto annotate the dependent class you want to define
declare(strict_types=1); namespace App\Service; use HyperfHelper\Dependency\Annotation\Dependency; // add Dependency annotation #[Dependency()] class ExampleService implements ExampleServiceInterface { // anything }
- Happy using
Injecteverywhere
<?php declare(strict_types=1); namespace App\Controller; use Hyperf\Di\Annotation\Inject; use App\Service\ExampleServiceInterface; class FooController { #[Inject] protected ExampleServiceInterface $service; }
hyperf-helper/dependency 适用场景与选型建议
hyperf-helper/dependency 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 10.67k 次下载、GitHub Stars 达 6, 最近一次更新时间为 2023 年 05 月 06 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「php」 「annotation」 「dependecy」 「hyperf」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 hyperf-helper/dependency 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 hyperf-helper/dependency 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 hyperf-helper/dependency 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Symfony bundle to add arbitrary metadata to classes and their constants by annotation
Service Container
Service for handling pubsub pattern with dependecy injection
hyperf 注解日志
Annotated files scanner - looks for methods annotated with provided annotations, outputs an array of either filepaths or directories.
annotated
统计信息
- 总下载量: 10.67k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 6
- 点击次数: 13
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-05-06