我是ZF2的新手。
今天我试图实现一个简单的数据库操作。我指的是https://framework.zend.com/manual/2.4/en/user-guide/database-and-models.html。
但我收到了以下错误
名称" getServiceLocator"的插件在插件管理器Zend \ Mvc \ Controller \ PluginManager
中找不到我错过了什么?
答案 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()
。
我知道他们中的大多数都不喜欢这种用法,但它肯定会帮助那些无法升级/修改代码的人。
我希望它有所帮助。