zend框架2:一个名为" getServiceLocator"的插件找不到

时间:2016-11-14 12:50:46

标签: zend-framework2

我是ZF2的新手。

今天我试图实现一个简单的数据库操作。我指的是https://framework.zend.com/manual/2.4/en/user-guide/database-and-models.html

但我收到了以下错误

名称" getServiceLocator"的插件在插件管理器Zend \ Mvc \ Controller \ PluginManager

中找不到

我错过了什么?

1 个答案:

答案 0 :(得分:1)

只是一个注释: ZF2警告很长一段时间以来关于代码中$this->getServiceLocator()的使用贬值,所以我们应该尊重它。

但是我们中的一些人仍然使用旧代码开发了项目,我们无法改变所有现在必须找到这个解决方案。

尝试将"zendframework/zend-mvc": "2.6.3"添加到composer.json列表下的require文件中,如下所示:

"require": {
    ....
    "zendframework/zendframework": "~2.5",
    "zendframework/zend-mvc": "2.6.3",
    ....
}

这将允许您使用控制器中的$this->getServiceLocator()

这是做什么的 - 即使框架版本继续更新,zend-mvc将始终保持旧代码并支持使用$this->getServiceLocator()

我知道他们中的大多数都不喜欢这种用法,但它肯定会帮助那些无法升级/修改代码的人。

我希望它有所帮助。