byjg/config

一个非常基本和极简的PSR-11实现,用于配置管理和依赖注入。

资助包维护!
byjg

4.9.2 2024-06-05 02:11 UTC

This package is auto-updated.

Last update: 2024-09-15 19:32:39 UTC


README

Build Status Opensource ByJG GitHub source GitHub license GitHub release Scrutinizer Code Quality

一个非常基本和极简的PSR-11实现,用于配置管理和依赖注入。

基础

PSR-11指的是“PHP标准推荐11”,这是一个定义PHP应用程序中依赖注入容器通用接口的PHP规范。依赖注入是一种设计模式,它允许对象从外部源而不是内部创建依赖项来提供其依赖项。

以下是PSR-11的概述

  • 目的:PSR-11旨在为PHP应用程序中实现和使用依赖注入容器提供一种标准化的方式。

  • 容器接口:PSR-11定义了Psr\Container\ContainerInterface,它指定了从容器中检索对象(依赖项)实例的方法。

  • 容器操作:该接口包括诸如get($id)通过其标识符(通常是字符串)检索实例,has($id)检查容器中是否存在实例,以及set($id, $value)手动将实例注册到容器中的方法。

  • 实现容器:开发者可以通过实现ContainerInterface并提供管理检索实例所需的方法来创建自己的容器。

  • 互操作性:PSR-11通过提供一个通用接口来促进不同PHP框架和库之间的互操作性。使用PSR-11容器构建的应用程序可以在不同容器之间切换,而无需修改应用程序代码。

  • 自动装配:PSR-11没有明确定义自动装配(自动解决依赖项),但实现此规范的容器可以选择包含自动装配功能,如果需要的话。

  • 扩展:PSR-11可以通过其他PSR规范扩展,以提供与依赖注入相关的附加功能或标准。

总的来说,PSR-11标准化了在PHP中实现和使用依赖注入容器的方式,促进了代码的重用性、灵活性和PHP应用程序不同组件之间的互操作性。

如何使用此组件

按照以下步骤操作

安装

composer require "byjg/config"

测试

./vendor/bin/phpunit

依赖项

开源ByJG