可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
In my application , I have ApiController
with actionUsers
, So in YII the path becomes api/users
. Now in order to get certain users info , I use the following path api/users/id/10
where 10 is the userID and id
part of the path is basically a GET parameter (api/users?id=10
).
Is there any way to do the same thing without id
part of the path, i.e. I want my path to look like api/users/10
?
Thank you!
回答1:
You're going to need to put in rule patterns in the urlManager component:
Yii Framework Documentation: url
Your config should look something like this:
array( ...... 'components'=>array( ...... 'urlManager'=>array( 'urlFormat'=>'path', 'rules'=>array( 'api/users/<id>'=>'api/users', ), ), ), );
You can then get the value by:
$id = Yii::app()->getRequest()->getQuery('id');
回答2:
Try This......
$id = Yii::app()->request->getParam('id');
回答3:
in addition to @shiki's answer you can also do this
array( ...... 'components'=>array( ...... 'urlManager'=>array( 'urlFormat'=>'path', 'rules'=>array( 'api/users/<id>'=>'api/users', ), ), ), );
and in action
public function actionUsers($id=null) // argument variable should same as in urlmanager { echo $id; }