原来的翻译不太准确,容易让人产生误解
相关信息:
- 类型:文档文章
- 文章: Contracts
- 文档: 《Laravel 5.8 中文文档(5.8)》
此投稿已在 4年前 合并。
内容修改:
Old | New | Differences |
---|---|---|
76 | 76 | |
77 | 77 | 在这个类中,代码与给定的缓存实现形成高度耦合。它的高度耦合是因为我们依赖了一个扩展包中具体的缓存类。如果该扩展包的 API 变了,那么我们的代码也将必须做出修改。 |
78 | 78 | |
79 | 同理,如果我们想要将底层的缓存技术 ( Memcached ) 替换成另一种缓存技术 ( Redis ),我们得再次修改我们的代码库。我们的代码库 | |
79 | 同理,如果我们想要将底层的缓存技术 ( Memcached ) 替换成另一种缓存技术 ( Redis ),我们得再次修改我们的代码库。我们的代码库不应该对谁提供的数据或者数据是怎么提供的有太多了解。 | |
80 | 80 | |
81 | 81 | **我们可以通过依赖一个简单的与扩展包无关的 interface 来改进我们的代码,来替代之前的实现方式:** |
82 | 82 | … | … |
117 | 117 | <a name="how-to-use-contracts"></a> |
118 | 118 | ## 如何使用契约 |
119 | 119 | |
120 | ||
121 |
| |
122 | Laravel 中的许多类型的类通过 [服务容器](https://laravel.com/docs/5.8/container) 来解析,包括控制器,事件侦听,中间件,队列作业,甚至路由闭包等。 | |
120 | 那么,你如何去实现一个契约呢?它实际上很简单。 | |
121 | ||
122 | Laravel 中的许多类型的类通过 [服务容器](https://laravel.com/docs/5.8/container) 来解析,包括控制器,事件侦听,中间件,队列作业,甚至路由闭包等。那么,要获取一个合同的实现,你只需在要解析的类的构造方法中键入『类型提示』的接口。 | |
123 | 123 | |
124 | 124 | 例如,看看这个事件侦听器: |
125 | 125 |