DoctrineResourceFactory
只会ObjectManager
在他创建的资源中注入。
在你的代码中谁创建的TestResource
是TestResourceFactory
,我在这个文件的第 28 行看到了这个https://bitbucket.org/rump_shaker/test/src/800e79f5e9eef1cbb133bdd467b711e039660ed7/module/Api/config/module.config.php?at=master的第 28 行看到了这一点。
解决问题的一种方法是在您的资源中注入 ObjectManager,方法是在您的以下代码中编写如下代码TestResourceFactory
:
<?php
namespace Api\V1\Rest\Test;
class TestResourceFactory
{
public function __invoke($sm)
{
$config = $sm->get('Config');
$objectManager = $sm->get($config['object_manager']);
$resource = new TestResource();
$resource->setObjectManager($objectManager);
return $resource;
}
}
另一种方法是查看如何配置 zf-apigility-doctrine 来实例化您的资源。
我只使用 Zend Framework 2 的 Doctrine ORM 模块来编写我的 API。
zf-apigility-doctrine 的思想是与另一个工具集成的。请参阅此 youtube 视频http://www.youtube.com/watch?v=5apFQF3VE3M&t=5m30s。