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

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

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

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 2
JasonG

大佬,想请教两个问题。

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

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

4个月前

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

4个月前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!