如何将getServicelocator更新为zend 3

时间:2017-04-02 19:13:54

标签: zend-framework doctrine

我是zend3的新手,我遇到了一个问题,版本3中不再存在getservicelocator,我正在使用控制器,我想知道如何实现此迁移,任何人都知道如何进行此更改

x[n] = x[n]*2

1 个答案:

答案 0 :(得分:1)

在你的情况下,架构并不是很好,为什么你会在抽象控制器中有一个动作......

正确的方法是让控制器不是抽象的,并通过构造函数传递服务。

错误的方法是使用a delegator注入服务定位器。

删除服务定位器的想法是要更清楚类的依赖关系,所以代码更具可读性(比如“哦,我看到这个类需要......并且......要做 NAME_OF_THE_ACTION “)。 此外,它大大提高了代码的可测试性(你知道模拟/伪造的依赖性)。