Как получить параметры Yii непосредственно из строки запроса (URL)
Я использую последнюю версию Yii и пытаюсь в основном сопоставить параметры URL.
Например, если бы мой URL был следующим:
site.com/events/199/111
Какова функция для захвата первого параметра, например, "199", и аналогично снова сказать, чтобы захватить 2-й параметр, например, "111".
Я помню, что у CodeIgniter есть $this->url->segment(1)
, мне в основном нужна та же функциональность, что и у Yii:)
4 answers
О чем-то вроде -
$this->createUrl('blah/blahx',array('id'=>2));
Вы можете получить свой параметр, используя -
$x = CHttpRequest::getParam('id'); //outputs x=2
ИЛИ $x = Yii::app()->getRequest()->getQuery('id'); //x=2 again
Вы можете попробовать метод getParam
$id = Yii::app()->request->getParam('id');
Вы должны прочитать это:
- http://www.yiiframework.com/doc/guide/1.1/en/topics.url
- http://www.yiiframework.com/doc/guide/1.1/en/basics.controller#action-parameter-binding
Что касается вашей проблемы, вам следует просто создать соответствующее правило URL, например:
'events/<param1>/<param2>'=>'events/view',
А затем в вашем контроллере:
public function actionView($param1, $param2)
{
// you can now use $param1 and $param2
}
Вам просто нужен компонент uri. Вот решение, вы можете использовать компонент uri следующим образом; Yii::app()->uri->сегмент(2);
Для получения дополнительной информации следуйте URL
Http://www.hasandemir.com/how-to-get-contoller-action-segments-like-codeigniter/