如何在Phalcon \ Http \ Request中使用过滤器

时间:2012-12-15 23:15:10

标签: php phalcon

在下面的页面上说可以使用Request :: getQuery()方法的过滤器: http://docs.phalconphp.com/en/latest/api/Phalcon_Http_Request.html

但遗憾的是,我无法找到有关我如何设置它们的信息。 可以请你帮忙吗?我需要在这里只过滤数字值:

// $filter = ??
$offset = $this->request->getQuery('offset', $filter);

在文档中,它表示值可以是字符串或数组,在那里可以看到可用的过滤器列表?

2 个答案:

答案 0 :(得分:3)

有几种方法可以做到这一点

在控制器中直接在getQuerygetPost

中应用过滤器
$offset = $this->request->getQuery('offset', 'int');

或通过调用所需过滤器的sanitize功能(甚至是自定义过滤器)

$filter = new \Phalcon\Filter();

$offset = $filter->sanitize($_GET["offset"], "int");

// or
$offset = $filter->sanitize($request->getQuery("offset"), "int");

// or
$offset = $request->getQuery("offset", "int");

如果传递的参数为null(4是下面的默认值),您也可以设置默认值

$offset = $request->getQuery('offset', 'int', 4);

答案 1 :(得分:0)

刚刚找到这个页面:

http://docs.phalconphp.com/en/0.7.0/reference/filter.html

答案很简单:没有正则表达式,只是字符串“int”