18

在我的应用程序中,我有ApiControlleractionUsers所以在 YII 中路径变成了api/users。现在为了获取某些用户信息,我使用以下路径api/users/id/10,其中 10 是用户 ID,id部分路径基本上是 GET 参数 ( api/users?id=10)。

有没有办法在没有id部分路径的情况下做同样的事情,即我希望我的路径看起来像api/users/10

谢谢!

4

3 回答 3

23

您将需要在 urlManager 组件中放入规则模式:

Yii 框架文档:url

您的配置应如下所示:

array(
    ......
    'components'=>array(
        ......
        'urlManager'=>array(
            'urlFormat'=>'path',
            'rules'=>array(
                'api/users/<id>'=>'api/users',
            ),
        ),
    ),
);

然后,您可以通过以下方式获取值:

$id = Yii::app()->getRequest()->getQuery('id');
于 2010-05-07T06:48:42.923 回答
3

试试这个......

$id = Yii::app()->request->getParam('id');
于 2013-12-20T08:15:50.940 回答
0

除了@shiki的回答你也可以这样做

array(
    ......
    'components'=>array(
        ......
        'urlManager'=>array(
            'urlFormat'=>'path',
            'rules'=>array(
                'api/users/<id>'=>'api/users',
            ),
        ),
    ),
);

并在行动中

public function actionUsers($id=null)  // argument variable should same as in urlmanager
    {
     echo $id;
    }
于 2015-09-16T08:06:58.247 回答