__construct 方法的疑问?
问:
方法1个方法2建议用那种?
方法1和方法2有什么差别?
<?php
namespace App\Controller;
class Test
{
public $A;
//1方法->construct
public function __construct(A $a)
{
$this->A=$a;
}
//2方法->construct
public function __construct()
{
$this->A=new A();
}
//无论是方法1还是方法2在这用起来都一样
public function testSayA()
{
return $this->A->say();
}
}
诚然,两种方法都能够实现需要达到的目的,但方法1涉及了依赖注入设计模式,主要目的是转移依赖关系,不必自己在代码中维护依赖对象。
这是我以前写的一篇博客,可供参考:zhangajian.com/post/li-jie-yi-lai-...