Как получить текущий 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