Как получить текущий url-адрес без параметров в Yii?
Я использую Yii.
если мой URL-адрес -http://localhost/evengee/event/page/id/2/sfn+master/?tab=3
Мой реальный url (путь к файлу) только http://localhost/evengee
Как бы я получил, желательно в виду:
- полный url
http://localhost/evengee/event/page/id/2/sfn+master/?tab=3
- url без явных параметров
http://localhost/evengee/event/page/id/2/sfn+master/
Я знаю, что могу разделить/взорвать str_replace ? и используйте $_SERVER. Предпочел бы использовать Родной методов в Yii.
3 ответов
для:
полный URL (
http://localhost/even/page/id/2/?t=3
) использоватьYii::app()->request->getUrl()
,URL без параметров (
http://localhost/even/page/id/2/
использоватьYii::app()->request->getPathInfo()
.
второй даст вам URL без схемы, сервера и строки запроса. Кажется, этого достаточно.
чтобы получить полный URL, используйте getRequestUrl()
метод CHttpRequest
Yii::app()->request->getRequestUrl();
вы можете получить имя контроллера, модуля и действия текущей страницы из методов CApplication
Yii::app()->getController()->id; //gets you the controller id
Yii::app()->getController()->getAction()->id; //gets you the action id
вы можете собрать URL-адрес, используя свойство baseURL CApplication
Yii::app()->baseURL
лучший и короткий путь, который я нашел:
Yii::app()->createAbsoluteUrl(Yii::app()->request->getPathInfo());
или
$this->createAbsoluteUrl(Yii::app()->request->getPathInfo());