Yii 依赖注入
DI(依赖注入)容器是一个知道如何实例化和配置对象的对象。Yii通过 yii\di\Container类 提供了DI容器。
它支持以下类型的DI−
- setter和属性注入
- PHP可调用注入
- 构造函数注入
- 控制器动作注入
DI容器通过类型提示支持构造函数注入−
通过配置支持属性注入和setter注入
在PHP可调用注入的情况下,容器将使用已注册的PHP回调函数来构建一个类的新实例−
控制器动作注入是一种依赖注入(DI)的类型,其依赖关系使用类型提示来声明。这对于使MVC控制器保持精简、轻量级和瘦身非常有用。
你可以使用 yii\db\Container::set() 方法注册依赖关系。
使用DI
步骤1 - 在 组件 文件夹中创建一个名为 MyInterface.php 的文件,其代码如下:
步骤2 - 在components文件夹中,创建两个文件。
First.php -
Second.php −
步骤3 − 现在,将一个 actionTestInterface 添加到 SiteController 中。
步骤4 - 前往 http://localhost:8080/index.php?r=site/test-interface ,您应该看到以下内容。
这种方法很方便,因为我们可以在一个地方设置类别,其他代码将自动使用新的类别。