1

我正在使用 yaf php 框架

我想得到参数数组。前任:

我的网址:... mvcSample/svc/saveUser/user1/pass/a@bc/joe/foo

我的输出参数转储:

  array (size=3)
  'user1' => string 'pass' (length=4)
  'a@b.c' => string 'joe' (length=3)
  'foo' => null

我想:

array (size=5)
1 =>string 'user1'
2 => string 'pass' 
3 => string 'a@b.c'
4 => string 'joe' 
5 =>string 'foo'

如何更改默认网址格式?

谢谢

4

1 回答 1

0

由于 Yaf 没有很好的记录,我能想到的唯一选择是自己解析 URI:

$parts = explode('/', $this->getRequest()->getRequestUri());

但是你会在 $parts 数组的开头得到垃圾。

可能,迟早您将开始尝试自定义 URL 路由(您可以在此处找到一些示例:http: //docs.php.net/manual/da/yaf-route-regex.construct.php),这将允许您使用正则表达式解析 URL 并将匹配的组传递给控制器​​:

/* in Bootstrap.php */

$dispatcher->getRouter()->addRoute('saveUser', 
    new Yaf_Route_Regex(
        ',^/mvcSample/svc/saveUser/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)$,',
        array(
            'controller' => 'svc',
            'action' => 'saveUser',
        ),
        array(
            1 => 'username',
            2 => 'password',
            3 => 'email',
            4 => 'firstname',
            5 => 'somefooshmoo',
        ),
    )
);
于 2013-05-01T00:44:59.953 回答