依赖注入
### 依赖注入
关于本作品框架中的依赖注入实现原理,我是利用反射类接口实现的;在实际的开发工作中我们常常会遇到在一个类中需要调用外部的类,以至于程序不同模块间的耦合性高,导致后期难以维护,而依赖注入就是解决这个问题。
#### 比如下面就是一个例子
<?php
namespace app\http\controller;
use Trauben\http\Controller; // 引用外部类
use xxxx\getUser;
class Test extends Controller
{
public function index()
{
$class = new getUser(); // 实例化外部类
echo $class->id();
}
}
使用依赖注入
<?php
namespace app\http\controller;
class Test extends Controller
{
public function index(xxxx\getUser $class)
{
echo $class->id();
}
}
使用依赖注入后,每当你需要调用外部类时,你不用再需要实例化类,因为类的实例化工作容器会帮你完成,你只需要将你需要依赖的类告诉容器即可。