container-interop / definition-interop
通过标准定义促进容器互操作性
This package is auto-updated.
Last update: 2024-09-19 21:03:56 UTC
README
definition-interop 尝试提供一个解决方案,用于编写 跨框架模块。
简介
模块(也称为包或捆绑包)在现代框架中很常见。不幸的是,每个框架都有自己的约定和工具来编写它们。 container-interop 和更具体的 definition-interop 的目标是帮助开发者编写可以在任何框架中运行的模块。
跨框架模块可以利用 PSR-7(HTTP 请求和响应抽象)以及 Puli(包中的资源定位),但最后缺少的部分是让模块注册容器条目。这是必要的,以便模块可以向用户公开服务。
范围
虽然 container-interop/container-interop 尝试标准化从容器中检索条目的方法,但 container-interop/definition-interop 尝试标准化定义容器条目的方法。
本包中标准化的定义 仅适用于模块;它们不是旨在涵盖每个容器的每个用例。鉴于这种有限的范围,定义故意简单,以便每个容器都容易支持。
考虑到这一点,用户可以放心,他们可以使用他们选择的容器提供的所有功能,而只有模块开发者需要使用标准定义。
安装
composer require container-interop/definition-interop@dev
此包遵循 SemVer 规范,并且将在次要版本之间实现完全向后兼容。
兼容项目
实现 definition-interop 的项目
提供实现 definition-interop 接口的定义类的项目。
加载器
以任何格式读取配置文件并在 definition-interop 兼容的定义中生成项目的项目。
- YamlDefinitionLoader:从 YAML 文件加载定义。接受 Symfony YAML 文件格式的一个子集。
消费 definition-interop 的项目
读取 definition-interop 兼容的定义并将它们转换为实际容器条目的项目。
注意: 可用 专用测试套件 以供消费 definition-interop 兼容定义的项目使用。这些项目可以使用此测试套件来检查是否符合 definition-interop。