Структура Yii: URL-адрес контроллера / Action и параметры

В моем приложении у меня есть ApiController с actionUsers , поэтому в YII путь становится api/users . Теперь, чтобы получить определенную информацию о пользователях, я использую следующий путь api/users/id/10 где 10 – это идентификатор пользователя, а id часть пути – это в основном параметр GET ( api/users?id=10 ).

Есть ли способ сделать то же самое без id части пути, т. Е. Я хочу, чтобы мой путь выглядел как api/users/10 ?

Спасибо!

Вам нужно будет поместить шаблоны правил в компонент urlManager:

Документация Yii: url

Ваша конфигурация должна выглядеть примерно так:

 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; }