2014-01-23 5 views
10

Я использую последнюю версию Yii и пытаюсь в основном сопоставить параметры URL.Как получить параметры Yii непосредственно из строки запроса (URL)

Например, если мой URL следующим образом:

site.com/events/199/111 

Что такое функция, чтобы захватить первый параметр например «199» и аналогичным образом снова сказать, захватите 2-й параметр 111 «например».

Я помню CodeIgniter имеет $this->url->segment(1), я в основном нужна такая же функциональность Yii :)

+1

Может быть, вы просто использовать CodeIgniter? Yii имеет UrlManager, который использует правила в config. Правило типа ''events//' => 'events/show' call EventController-> actionShow ($ param1, $ param2) {}' – BaBL86

ответ

20

На Somthing как -

$this->createUrl('blah/blahx',array('id'=>2)); 

Вы можете получить с помощью параметра -

$x = CHttpRequest::getParam('id'); //outputs x=2 

ИЛИ $x = Yii::app()->getRequest()->getQuery('id'); //x=2 again

+0

awesome dude thanks – Zabs

+0

np, пожалуйста, принимайте как ответ, если это помогает – Rohan

+1

Я сделаю придется ждать еще несколько минут :) – Zabs

2

Вы должны это прочитать :

О вашей проблеме, вы должны просто создать соответствующее правило URL, например, :

'events/<param1>/<param2>'=>'events/view', 

А затем в контроллере:

public function actionView($param1, $param2) 
{ 
    // you can now use $param1 and $param2 
} 
+0

+1 для дополнительных ссылок – Zabs

5

вы можете попробовать методу GetParam

$id = Yii::app()->request->getParam('id'); 
Смежные вопросы