Ответ 1
На что-нибудь вроде -
$this->createUrl('blah/blahx',array('id'=>2));
Вы можете получить свой параметр, используя -
$x = CHttpRequest::getParam('id'); //outputs x=2
ИЛИ $x = Yii::app()->getRequest()->getQuery('id'); //x=2 again
Я использую последнюю версию Yii и пытаюсь в основном сопоставить параметры URL.
Например, если мой URL был следующим:
site.com/events/199/111
Какова функция захвата первого параметра, например, '199' и аналогичным образом, чтобы сказать, захватить второй параметр, например, '111'.
Я помню, что CodeIgniter имеет $this->url->segment(1)
, мне в основном нужна такая же функциональность для Yii:)
На что-нибудь вроде -
$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');
Вы должны прочитать следующее:
О вашей проблеме вы должны просто создать соответствующее правило URL-адреса, например.
'events/<param1>/<param2>'=>'events/view',
И затем в вашем контроллере:
public function actionView($param1, $param2)
{
// you can now use $param1 and $param2
}
Вам нужен только компонент uri. Вот решение, вы можете использовать компонент uri, как это; Yii:: приложение() → uri- > сегмент (2);
Подробнее см. url
http://www.hasandemir.com/how-to-get-contoller-action-segments-like-codeigniter/