contracts
1.0.0
从 Symfony 组件中提取的一组抽象。
可用于构建 Symfony 组件已证明有用的语义 - 并且已经经过实战测试的实现。
实现特定合约的包应使用symfony/*-implementation
约定将它们列在其“composer.json”文件的“provide”部分中(例如"provide": { "symfony/cache-implementation": "1.0" }
)。
该包中的抽象对于实现松散耦合和互操作性很有用。通过使用提供的接口作为类型提示,您可以重用与其契约匹配的任何实现。它可以是 Symfony 组件,也可以是整个 PHP 社区提供的另一个组件。
根据其语义,某些接口可以与自动装配相结合,以将服务无缝地注入到您的类中。
其他可能可用作标签接口,以提示使用自动配置或手动服务标记(或框架提供的任何其他方式)时可以启用的特定行为。
如果适用,所提供的合同将构建在 PHP-FIG 的 PSR 之上。但该小组有不同的目标和不同的流程。在这里,我们专注于提供本身有用的抽象,同时仍然与 Symfony 提供的实现兼容。虽然不是主要目标,但我们希望所申报的合约能够直接或间接地为 PHP-FIG 做出贡献。