合同组件
编辑该页面警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 5.1,不再维护。
读这个页面的更新版本Symf欧宝娱乐app下载地址ony 6.2(当前的稳定版本)。
合同组件
合同组件提供了一组抽象提取的Symfony组件。欧宝娱乐app下载地址可以用它们来构建语义,Symfony组件被证明是有用的,已经有一些久经沙场的实现。欧宝娱乐app下载地址
安装
提供合同作为单独的包,所以你可以只安装项目的需要:
1 2 3 4 5 6
美元作曲家需要symfony / ca欧宝娱乐app下载地址che-contracts美元作曲家需要symfony / ev欧宝娱乐app下载地址ent-dispatcher-contracts美元作曲家需要symfony / de欧宝娱乐app下载地址precation-contracts美元作曲家需要symfony / ht欧宝娱乐app下载地址tp-client-contracts美元作曲家需要symfony /服务合欧宝娱乐app下载地址同美元作曲家需要symfony / tr欧宝娱乐app下载地址anslation-contracts
请注意
如果你安装这个组件之外的Symfony应用程序,你必须要求欧宝娱乐app下载地址供应商/ autoload.php
文件在你的代码,使作曲家提供的类加载机制。读这篇文章为更多的细节。
使用
这个包很有用的抽象实现松散耦合和互操作性。通过使用提供的接口类型提示,您可以重用任何匹配合同的实现。可能是一个Symfony组件欧宝娱乐app下载地址,或者另一个包提供的PHP社区。欧宝下载链接
根据其语义,可以结合一些接口自动装配无缝地注入服务在你的类。
其他人可能是有用的作为标签界面,提示对一个特定的行为,可以使用时启用自动配置或手动服务标签(或任何其他手段所提供的框架)。
设计原则
- 合同由域分割,每个在自己的子名称空间;
- 合同是微小而持续的PHP接口,特征,规范docblocks和参考测试套件适用时,……;
- 合同必须有一个证明实施进入这个存储库;
- 合同必须是向后兼容现有的Symfony组件。欧宝娱乐app下载地址
包,实现特定的合同应该在列表提供
部分的composer.json
文件,使用欧宝娱乐app下载地址symfony / *实现
公约。例如:
1 2 3 4 5 6
{“…”:“…”,“提供”:{“欧宝娱乐app下载地址symfony /缓存实现”:“1.0”}}
常见问题
这不同于PHP-FIG psr怎么样?
当适用时,所提供的合同是建立在上面PHP-FIGpsr。然而,PHP-FIG有不同的目标和不同的过程。欧宝娱乐app下载地址Symfony合同专注于提供抽象,它是有用的在自己的同时兼容Symfony提供的实现。
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。