为什么使用 App (SlugTranslateHandler::class)?
1

为什么使用$slug = app(SlugTranslateHandler::class)->translate($this->topic->title);
而不是直接使用$slug = new SlugTranslateHandler呢?

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
最佳答案

app(SlugTranslateHandler::class)new SlugTranslateHandler() 其实都是创建一个类的实例,但是 app() 即服务容器 他还有个重要的功能就是自动帮你注入类的依赖。虽然这个 SlugTranslateHandler 类并没有依赖容器里的其他类,但是并不保证以后不会依赖对吧。所以以后在实例化一个类的时候尽量用服务容器去实例化。这是我个人的一些理解,不知道对不对,望高手指正。

6个月前
讨论数量: 1

app(SlugTranslateHandler::class)new SlugTranslateHandler() 其实都是创建一个类的实例,但是 app() 即服务容器 他还有个重要的功能就是自动帮你注入类的依赖。虽然这个 SlugTranslateHandler 类并没有依赖容器里的其他类,但是并不保证以后不会依赖对吧。所以以后在实例化一个类的时候尽量用服务容器去实例化。这是我个人的一些理解,不知道对不对,望高手指正。

6个月前

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