在我的应用程序中,我有ApiController
,actionUsers
所以在 YII 中路径变成了api/users
。现在为了获取某些用户信息,我使用以下路径api/users/id/10
,其中 10 是用户 ID,id
部分路径基本上是 GET 参数 ( api/users?id=10
)。
有没有办法在没有id
部分路径的情况下做同样的事情,即我希望我的路径看起来像api/users/10
?
谢谢!
您将需要在 urlManager 组件中放入规则模式:
您的配置应如下所示:
array(
......
'components'=>array(
......
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
'api/users/<id>'=>'api/users',
),
),
),
);
然后,您可以通过以下方式获取值:
$id = Yii::app()->getRequest()->getQuery('id');
试试这个......
$id = Yii::app()->request->getParam('id');
除了@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;
}