依赖注入PHP容器和构造注入

时间:2018-07-19 10:06:25

标签: php dependency-injection

我有一个简单的问题。

class controller{

  $model;
  $view;
  $db;
  $array;

  public function __construct(Model $model, View $view, Database $db, Input $array){
    $this->model = $model;
    $this->view = $view;
    $this->db= $db;
    $this->array = $array;   
  }

  public function giveToModel{

    $this->model->someFunction($this->view, $this->db , $this->array);

  }

}

现在,我对编程有点陌生,所以我有几个问题。为了遵守SOLID等编码中的公证原则,DI是必须的。但是,我对如何在MVC框架中实现它感到迷茫。我只需要一些指针即可。

关于上面的代码。我真的不确定在那里注射。是否需要通过构造函数注入所有这些。还是我应该通过功能“ giveToModel”注入其中的一些(视图$ view,数据库$ db,输入$ array)。

还有一个。我可以制作两个这样的容器吗?

class controllerDepen {

  public function loadModel($name){
    return new $name.'Model';
  }

  public function postArray(){
    return new $postData; //object that gathers all the $_POST data into one array
  }

}

另外一个负责处理模型的依赖关系,然后传递这些依赖关系并使用它们来设置依赖关系。

我的主要问题是:

  1. 是否希望我在某个时刻有太多依赖项,无法正常通过__construct
  2. 解耦类

我知道类似DIC的东西,但是,在使用这些东西之前,我真的很想了解这个主题。

如您所见,针对这个主题,我可能需要一些额外的解释。

0 个答案:

没有答案