Phalcon调度程序getParam默认值未按预期设置

时间:2015-08-31 14:52:01

标签: php phalcon phalcon-routing

我正在尝试对列表页面进行分页,并且我在使用调度程序的getParam方法设置$ page的默认值时遇到问题。

网址如下:(http://www.example.com/category/subcategory/page_number_here

这就是我从调度程序获取页面参数的方法

$page = $this->dispatcher->getParam('page', 'int', 1);

问题在于,当我只为页面添加字母(或根本没有任何内容)时,它不会像我期望的那样将$ page设置为1,而是将其设置为空字符串。

我做错了什么,有什么我认为它应该如何运作的错误吗?

感谢。

1 个答案:

答案 0 :(得分:1)

调度程序中的Param方法只有在routing definitions中定义了命名参数时才会起作用,可能会有点棘手。

我建议您使用request服务:

$this->request->get('page', 'int', 1)

为了实现这一点,您还需要调整路由定义,因为此时Phalcon不知道page param存在于何处,但可能会稍微复杂一些。你会发现什么方法更适合你。