Apigility内容验证程序 - 启用获取服务验证程序

时间:2014-10-13 07:44:46

标签: zend-framework apigility

我正在关注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本身的问题,这就是为什么我在询问上面链接中显示的示例在使用依赖注入时是否真的有用的原因。感谢

1 个答案:

答案 0 :(得分:1)

知道了。根据{{​​3}} doc,输入过滤器是通过Zend\InputFilter\InputFilterPluginManager注册的,这意味着我必须首先获取InputFilterManager服务,然后按如下方式获取Contact输入过滤器服务:

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

感谢您对此进行调查。