auburnite / contracts
从Auburnite组件中提取的一系列抽象
0.1.x-dev
2024-01-15 02:17 UTC
This package is auto-updated.
Last update: 2024-09-15 03:49:59 UTC
README
从Auburnite组件中提取的一系列抽象。
设计原则
- 合约根据领域划分,每个领域有自己的子命名空间;
- 合约是一组小而一致的PHP接口、特性、规范性docblocks以及适用的参考测试套件;
- 所有合约都必须有一个经过验证的实现才能进入此存储库;
- 它们必须与现有的Auburnite组件向后兼容。
实现了特定合约的包应在其"composer.json"文件的"provide"部分列出它们,使用"provide": { "auburnite/exception-implementation": "1.0" }
)。
常见问题解答
如何使用此包?
此包中的抽象有助于实现松散耦合和互操作性。通过使用提供的接口作为类型提示,您可以重用符合其合约的任何实现。这可能是一个Auburnite组件,也可能是PHP社区提供的另一个组件。
根据其语义,某些接口可以与自动注入结合使用,以无缝地将服务注入到您的类中。
其他接口可能有助于作为接口标签,提示在自动配置或手动服务标记(或您的框架提供的任何其他方式)使用时可以启用的特定行为。
这与PHP-FIG的PSRs有何不同?
适用时,提供的合约是在PHP-FIG的PSRs之上构建的。但该小组有不同的目标和不同的流程。在这里,我们专注于提供有用的抽象,同时仍然与Symfony提供的实现兼容。虽然不是主要目标,但我们希望声明的合约可以直接或间接地贡献给PHP-FIG。
资源
- 报告问题 和 发送拉取请求 在 主Auburnite存储库