首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Yii框架:控制器/动作url和参数

Yii框架:控制器/动作url和参数
EN

Stack Overflow用户
提问于 2010-05-04 04:08:10
回答 3查看 40.4K关注 0票数 18

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

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

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-07 14:48:43

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

Yii Framework Documentation: url

您的配置应如下所示:

代码语言:javascript
复制
array(
    ......
    'components'=>array(
        ......
        'urlManager'=>array(
            'urlFormat'=>'path',
            'rules'=>array(
                'api/users/<id>'=>'api/users',
            ),
        ),
    ),
);

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

代码语言:javascript
复制
$id = Yii::app()->getRequest()->getQuery('id');
票数 23
EN

Stack Overflow用户

发布于 2013-12-20 16:15:51

试试这个......

代码语言:javascript
复制
$id = Yii::app()->request->getParam('id');
票数 3
EN

Stack Overflow用户

发布于 2015-09-16 16:06:58

除了@shiki的回答之外,你还可以这样做

代码语言:javascript
复制
array(
    ......
    'components'=>array(
        ......
        'urlManager'=>array(
            'urlFormat'=>'path',
            'rules'=>array(
                'api/users/<id>'=>'api/users',
            ),
        ),
    ),
);

并付诸行动

代码语言:javascript
复制
public function actionUsers($id=null)  // argument variable should same as in urlmanager
    {
     echo $id;
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2760869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档