类注入方法,使用声明类型方法,赋值一个类的属性,这样在类中就可以直接使用相关类(不用new)

构造方法注入
class UserProvider{
    protected $connection;

    public function __construct( Connection $con ){
        $this->connection = $con;
    }

Setter 方法注入
同样,我们也可以使用 Setter 方法注入依赖关系:

class UserProvider{
    protected $connection;
    public function __construct(){
        ...
    }

    public function setConnection( Connection $con ){
        $this->connection = $con;
    }
...

接口注入

interface ConnectionInjector{
    public function injectConnection( Connection $con );
}

class UserProvider implements ConnectionInjector{
    protected $connection;

    public function __construct(){
        ...
    }

    public function injectConnection( Connection $con ){
        $this->connection = $con;
    }
}

————————————————
原文作者:Summer
转自链接:https://learnku.com/laravel/t/26721
版权声明:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请保留以上作者信息和原文链接。