Yii framework: контроллер / url действия и параметры
В моем приложении у меня есть ApiController
с actionUsers
, поэтому в YII путь становится api/users
. Теперь, чтобы получить определенную информацию о пользователях, я использую следующий путь api/users/id/10
, где 10-идентификатор пользователя, а id
часть пути-это в основном параметр GET (api/users?id=10
).
id
части пути, то есть я хочу, чтобы мой путь выглядел как api/users/10
?
Спасибо!
3 ответа:
Вам нужно будет ввести шаблоны правил в компонент urlManager:
Документация по Yii Framework: url
Ваш конфиг должен выглядеть примерно так:
array( ...... 'components'=>array( ...... 'urlManager'=>array( 'urlFormat'=>'path', 'rules'=>array( 'api/users/<id>'=>'api/users', ), ), ), );
Затем вы можете получить значение по формуле:
$id = Yii::app()->getRequest()->getQuery('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; }