Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php (如何)过滤器/参数可以与Apigility中的DB连接服务一起使用?_Php_Rest_Zend Framework2_Filtering_Laminas Api Tools - Fatal编程技术网

Php (如何)过滤器/参数可以与Apigility中的DB连接服务一起使用?

Php (如何)过滤器/参数可以与Apigility中的DB连接服务一起使用?,php,rest,zend-framework2,filtering,laminas-api-tools,Php,Rest,Zend Framework2,Filtering,Laminas Api Tools,正如Apigility(REST服务教程->创建REST服务->[infobox]代码连接vs DB连接服务)所说,DB连接服务的内置功能“更像是一个快速应用程序开发(RAD)或原型工具。” 嗯,现在我正在开发一个非常小的应用程序,我想,这个原型功能可能就足够了。但即使是这个小应用程序也需要一个简单的过滤/请求参数化,例如:items byname='foo',items byidy,诸如此类 DB连接服务是否提供过滤功能?如果是,如何处理此问题?为此,您将使用zf内容验证包(请参阅) 使用内容

正如Apigility(
REST服务教程->创建REST服务->[infobox]代码连接vs DB连接服务
)所说,DB连接服务的内置功能“更像是一个快速应用程序开发(RAD)或原型工具。”

嗯,现在我正在开发一个非常小的应用程序,我想,这个原型功能可能就足够了。但即使是这个小应用程序也需要一个简单的过滤/请求参数化,例如:items by
name='foo'
,items by
idy
,诸如此类


DB连接服务是否提供过滤功能?如果是,如何处理此问题?

为此,您将使用zf内容验证包(请参阅)

使用内容验证模块,您可以在模块配置部分定义输入筛选器,并指定用于验证服务请求的输入筛选器

例如(从文档中):

此配置将验证对HelloWorld控制器的请求是否包含字符串形式的“name”参数,并为您另外修剪空白。如果您的请求具有查询参数
?name=foo
,则控制器将获得name参数的
foo
。或者,如果您的请求不包含name参数,您将得到一个ApiProblem响应,指示该请求未通过验证

'zf-content-validation' => array(
    'Application\Controller\HelloWorld' => array(
        'input_filter' => 'Application\Controller\HelloWorld\Validator',
        'POST' => 'Application\Controller\HelloWorld\CreationValidator',
    ),
),


'input_filter_specs' => array(
    'Application\Controller\HelloWorldGet' => array(
        0 => array(
            'name' => 'name',
            'required' => true,
            'filters' => array(
                0 => array(
                    'name' => 'Zend\Filter\StringTrim',
                    'options' => array(),
                ),
            ),
            'validators' => array(),
            'description' => 'Hello to name',
            'allow_empty' => false,
            'continue_if_empty' => false,
        ),
    ),
),