biurad/dependency-injection

此包已被废弃,不再维护。作者建议使用 divineniiquaye/rade-di 包。

一个允许您在应用程序中标准化和集中构建对象方式的库。

v0.1.0 2020-11-24 02:31 UTC

This package is auto-updated.

Last update: 2022-02-02 07:27:41 UTC


README

Latest Version Software License Workflow Status Code Maintainability Coverage Status Quality Score Sponsor development of this project

biurad/php-dependency-injection 是一个强大的工具,用于管理类依赖关系并执行 PHP 7.2+ 的依赖注入,由 Divine Niiquaye 基于 Nette DI 创建。此库提供了一个花哨的短语,其本质含义是:类依赖关系通过构造函数“注入”到类中,在某些情况下,通过“setter”方法。

📦 安装 & 基本用法

此项目需要 PHP 7.2 或更高版本。推荐的安装方式是通过 Composer。只需运行

$ composer require biurad/dependency-injection

如何使用

对依赖注入有深入的了解对于构建强大的大型应用程序至关重要,同时也有助于为这个库的核心本身做出贡献。本 README 专注于添加到 Nette Di 的新功能。

此依赖是 Nette Di 的扩展版本,已经简化以方便开发者。通过这个桥梁,实现了更多功能,以实现快速灵活的依赖注入容器。

容器实现完全兼容 PSR-11 Container

PSR-11 容器

您可以在代码中直接通过请求 Psr\Container\ContainerInterface 来访问容器。

use Psr\Container\ContainerInterface;

class HomeContoller
{
    public function index(ContainerInterface $container)
    {
        var_dump($container->get(App\Kernel::class));
    }
}

📓 文档

在使用此库之前,请查阅详细的文档。有关高级使用、配置和定制的完整文档,请访问 docs.biurad.com

⏫ 升级

有关如何升级到此库的新版本的说明,请参阅 UPGRADE

🏷️ 更新日志

SemVer 被严格遵守。小版本和补丁版本不应引入对代码库的破坏性更改;有关最近更改的更多信息,请参阅 CHANGELOG

标记为 @internal 的任何类或方法都不打算在库外使用,并且可能会随时进行破坏性更改,因此请避免使用它们。

🛠️ 维护 & 支持

当发布一个新的主版本(例如 1.02.0 等)时,之前的版本(0.19.x)将在新版本发布后至少3个月内收到错误修复,6个月内收到安全更新。

(此政策可能在将来发生变化,并且可能根据具体情况做出例外。)

专业支持,包括新版本和安全更新的通知,可在Biurad Commits获取。

👷‍♀️ 贡献

要报告安全漏洞,请使用Biurad Security。我们将协调修复,并将最终将解决方案提交到本项目。

对本库的贡献是受欢迎的,特别是那些

  • 在不影响我们遵守规定的情况下,提高可用性或灵活性。
  • 优化性能
  • 修复遵守规定的问题。
  • ???.

请参阅CONTRIBUTING以获取更多详细信息。

🧪 测试

$ composer test

此测试将确保biurad/php-dependency-injection能够运行在PHP 7.2版本或更高版本上。

👥 致谢

🙌 赞助商

您有兴趣赞助本项目的开发吗?请联系我们,在Patreon上支持我们,或查看https://biurad.com/sponsor了解贡献方式。

📄 许可证

biurad/php-dependency-injection 在BSD-3许可证下授权。有关详细信息,请参阅LICENSE文件。

🏛️ 管理机构

本项目主要由Divine Niiquaye Ibok维护。Biurad Lap 领导团队的其他成员有时会协助完成一些这些任务。

🗺️ 使用者

您可以使用此包,但如果它进入您的生产环境,我们非常感谢您发送一封电子邮件消息提及此库。我们将在https://patreons.biurad.com发布所有收到的请求。

查看人们用biurad/php-dependency-injection做的一些其他酷事:https://packagist.org.cn/packages/biurad/dependency-injection/dependents