2

我正在关注https://apigility.org/documentation/content-validation/basic-usage上的教程。但是,当我尝试在 ContactResource 中注入输入过滤服务 AddressBook\V1\Rest\Contact\Validator 时,出现以下错误:

Zend\ServiceManager\Exception\ServiceNotFoundException File: /Users/.../src/apigility-tutorials/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php:529 Message: Zend\ServiceManager\ServiceManager::get was unable to fetch or create an instance for AddressBook\V1\Rest\Contact\Validator

我不确定这是否是apigility本身的问题,这就是为什么我问上面链接中显示的示例在使用依赖注入时是否真的有效。谢谢

4

1 回答 1

1

知道了。根据zf-content-validation文档,输入过滤器是通过注册的,Zend\InputFilter\InputFilterPluginManager这意味着我必须先获取 InputFilterManager 服务,然后获取 Contact 输入过滤器服务,如下所示:

$inputFilter = $serviceLocator->get('InputFilterManager') ->get('AddressBook\V1\Rest\Contact\Validator');

感谢您调查它。

于 2014-10-13T12:22:54.230 回答