小编XYZ*_*XYZ的帖子

通过 setter 进行依赖注入

Laravel 是否有能力通过方法引入依赖?
例如,我有一个实现DoctrineWorkable接口的控制器:

interface DoctrineWorkable {
    public function setEntityManager(EntityManager $manager);
}

trait EntityManagerTrait {
   protected $manager;

    public function setEntityManager(EntityManager $manager) {
        $this->manager = $manager;
        // Other work with $manager
    }
}

class TestController implements DoctrineWorkable {
    use EntityManagerTrait;
}
Run Code Online (Sandbox Code Playgroud)

如何setEntityManager在服务容器中使用该方法?要得到这样的东西:

if ($class instanceof DoctrineWorkable) {
    $class->setEntityManager(new EntityManager());
}
Run Code Online (Sandbox Code Playgroud)

ps 抱歉英语不好 ))

php design-patterns laravel

5
推荐指数
1
解决办法
315
查看次数

标签 统计

design-patterns ×1

laravel ×1

php ×1