华先生 2020-04-09 14:36:55 2006次浏览 0条回复 0 0 0

在java中@autoware是根据类型判断注入 也可以@resouse(name="xxx")在注入的同接口实现类上加name 在使用的类中根据name区分

Yii框架中怎么操作?求教

\Yii::$container->set("app\components\inject\interface\InjectS", "\app\components\inject\interface\InjectS2");
\Yii::$container->set("app\components\inject\interface\InjectS", "\app\components\inject\interface\InjectS1");
\Yii::$app->set("InjectP", [
        "class" => "app\components\inject\InjectP",
]);
\Yii::$app->get("InjectP")->doAction();
class InjectP
{
    public $injectS;

    /**
     * InjectP constructor.
     * @param InjectS $injectS
     */
    public function __construct(InjectS $injectS)
    {
        $this->injectS = $injectS;
    }

    public function doAction()
    {
        $this->injectS->doInjectMethod();

    }
}

InjectP是构造注入InjectS InjectS是一个接口 有2个实现类InjectS1和InjectS2,如果同时注入了这两个类 我怎么区分 现在是使用后注入的??求指教 在java中可以通过@resouse(name="xxx")区分 在yii2中怎么操作 求指教

    没有找到数据。
您需要登录后才可以回复。登录 | 立即注册