在我的应用程序中,我ApiController
actionUsers
,因此在YII中路径变为api/users
。现在,为了获取某些用户信息,我使用以下路径api/users/id/10
,其中10是userID,路径的id
部分基本上是GET参数(api/users?id=10
)。
如果没有id
部分路径,有没有办法做同样的事情,即我希望我的路径看起来像api/users/10
?
谢谢!
答案 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;
}