Yii框架:Controller / Action url&参数

时间:2010-05-03 20:08:10

标签: php url path yii

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

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

谢谢!

3 个答案:

答案 0 :(得分:23)

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

Yii Framework Documentation: url

您的配置应如下所示:

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

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

$id = Yii::app()->getRequest()->getQuery('id');

答案 1 :(得分:3)

试试这个......

$id = Yii::app()->request->getParam('id');

答案 2 :(得分: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;
    }