Service Container 有俩地方感觉应该这样翻译

今天又瞅了一眼Service Container,逐字逐句看,看到划线处的时候总感觉别扭,遂去看了原文:

file
file
划线处1:其实译者大佬表达的意思是对的,但是可能因为原英文中省略了一些过渡的短句,再硬照着那样翻译就有点别扭了,下面的可能会丰满点:
“然而,是不是一旦类库注入完毕就固定不变了呢?答案是否定的,我们仍然可以在 Contextual Binding 中通过判断具体的情况来轻松的切换为另一个实现。”
划线处2:第二句貌似后半句翻译的接不上上下文。下面这样就感觉貌似好点了-_-
“深刻的理解 laravel 服务容器,不仅是以 laravel 为基础构建完善的,大型应用的过程中至关重要的一环,同时这本身也是有助于对 laravel 核心代码的理解。”
原文:https://learnku.com/docs/laravel/5.5/container
ps:感觉文档翻译过程有个硬伤就是有一些地方照着翻,没有结合上下文补充一下被歪果仁们省略的短句。不过还是感谢大佬们努力,Laravel 社区板载。

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 2
JasonG

大佬,想请教两个问题。

第一个原文中翻译的「Repository是通过UserRepository注入的」,这里的「Repository」指的是Eloquent获取的 $users吗?

第二个,文中提到的「轻松的切换为另一个实现」,这个「实现」要怎么理解呢?

5年前 评论

1.嗯,这里的「Repository」指的是构造函数里实例获取的 $users,但不一定完全由 Eloquent 获取。因为 Model 里还可能会被添加一些额外的数据库操作,业务逻辑,transformer 什么的,一般见于比较大型的应用,相应的模型对应相应的 Repository,如这里的User模型对应 UserRepository 库。
2.这里的「轻松的切换为另一个实现」,换句话说就是:通过上下文绑定的 when 条件、或者工厂模式下容器传入的指定参数与 switch 的结合,来切换想要的任意一个继承了标准规范接口并已经实例化了的类。

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!