Как получить текущий 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.
Ответы
Ответ 1
Для:
-
полный URL (http://localhost/even/page/id/2/?t=3
) использовать
Yii::app()->request->getUrl()
,
-
URL без параметров (http://localhost/even/page/id/2/
use
Yii::app()->request->getPathInfo()
.
Второй из них даст вам URL-адрес без схемы, строки сервера и запроса. Это кажется достаточно хорошим.
Ответ 2
Чтобы получить полный 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