通常我只会通过构造函数注入依赖项,但是当父类具有依赖项并且必须将它们传递给所有子类时,它会变得非常冗长。
另一种方法是使用$this->dependancy = App::make('Dependancy')
单独在父类中。那么父构造函数和子构造函数都可以为空。这样做有什么缺点吗?
您的方法有一个缺点,按照您的建议进行操作将使您的应用程序更难测试。
我的意思是,如果您尝试为父类编写单元测试,您将不再单独测试该父类。您的测试现在还取决于父类中声明的依赖项的结果。
如果您通过构造函数注入(或任何类型的注入)传递此依赖项,您可以控制该依赖项,并可以模拟/存根它的输出,并更好地单独测试您的父类。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)