全部使用构造函数注入有没有什么问题?

请问一个问题,使用laravel编程的时候,全部使用构造函数注入有没有什么问题?

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 18
JaguarJack

没有。可以把构造函数注入当作少了这个步骤

new someClass()
1年前 评论
JaguarJack (作者) 1年前
sanders 1年前
sy_dante 1年前
kkokk (楼主) 1年前
lddtime 1年前
kkokk (楼主) 1年前
e_404_303_202 1年前

@Z_Laravel 手动声明变量类型

/**
 * @var WalletService
 */
protected $wallet;

public function a()
{
    $this->wallet = app(WalletService::class);
    $this->wallet->getMoney();

    // 或者

    /** @var WalletService $wallet */
    $wallet = app(WalletService::class);
    $wallet->getMoney();
}
1年前 评论
kkokk (楼主) 1年前
lddtime (作者) 1年前
kkokk (楼主) 1年前
lddtime (作者) 1年前
kkokk (楼主) 1年前

如果只是为了获取对象实例,那么new和注入没啥区别,但是依赖注入能解决容器绑定的问题,比如注入一个接口类型的实例,至于具体注入什么实例,看你接口绑定的了

1年前 评论

我个人的看法是没有问题。你爱怎么搞都可以,没十全十美的方法。

另外,面向对象编程要求一个类只做一件事,如果你按这个要求了,就没有你这个烦恼。

1年前 评论

没有问题。现在的热门的php库都是按构造函数传入了,很少在类里直接new了

1年前 评论

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