byjg / config
一个非常基本和极简的PSR-11实现,用于配置管理和依赖注入。
4.9.2
2024-06-05 02:11 UTC
Requires
- php: >=7.4
- laravel/serializable-closure: ^1.3
- psr/container: ^2.0
- psr/simple-cache: ^1.0
Requires (Dev)
- ext-json: *
- byjg/cache-engine: 4.9.*
- phpunit/phpunit: 5.7.*|7.4.*|^9.5
Suggests
- ext-json: *
README
一个非常基本和极简的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