Для работы с ссылками используем следующее пространство имен
use yii\helpers\Url;
Примеры | Не ЧПУ | ЧПУ |
Url::base() базовый URL относительно корневого каталога Веб сервера |
/project.ru/web | /project.ru/web |
Url::home() Получаем домашнюю ссылку |
/project.ru/web/index.php?r=site/index | /project.ru/web/index/site/index |
Url::to('') текущая активная ссылка |
/project.ru/web/index.php | /project.ru/web/index |
Url::to(['post/index']); | /project.ru/web/index.php?r=post/index | /project.ru/web/index/post/index |
Url::to(['post/view', 'id' => 100]); | /project.ru/web/index.php?r=post/index&id=100 | /project.ru/web/index/post/index/id/100 |
Url::to(['post/view', 'id' => 100, '#' => 'content']); | /project.ru/web/index.php?r=post/index&id=100#content | /project.ru/web/index/post/index/id/100#content |
Url::to(['post/index'], true); абсолютная ссылка |
http://project.ru/web/index.php?r=post/index | http://project.ru/web/index/post/index |
Url::to(['post/index'], 'https'); абсолютная ссылка с использованием протокола https |
https://project.ru/web/index.php?r=post/index | https://project.ru/web/index/post/index |
Yii::setAlias('@example', 'http://webapplex.ru'); echo Url::to('@example'); Ссылка из псевдонима |
http://webapplex.ru | http://webapplex.ru |
Url::to('/images/logo.jpg', true); абсолютный путь к картинке |
http://project.ru/images/logo.jpg | http://project.ru/images/logo.jpg |
Url::remember(); Url::previous(); запомнить запрошенную ссылку и восстановить ее при следующих запросах |
||
Url::canonical(); каноническая ссылка запрошенной ссылки |
Примеры | Не ЧПУ | ЧПУ |
Yii::$app->basePath Yii::$app->getBasePath() базовый URL относительно корневого каталога Веб сервера |
/project.ru/web | /project.ru/web |
Yii::$app->homeUrl; Получаем домашнюю ссылку |
/project.ru/web/index.php?r=site/index | /project.ru/web/index/site/index |
Yii::$app->getUrlManager()->createUrl('') текущая активная ссылка |
/project.ru/web/index.php | /project.ru/web/index |
Yii::$app->getUrlManager()->createUrl(['post/index']); | /project.ru/web/index.php?r=post/index | /project.ru/web/index/post/index |
Yii::$app->getUrlManager()->createUrl(['post/view', 'id' => 100]); | /project.ru/web/index.php?r=post/index&id=100 | /project.ru/web/index/post/index/id/100 |
Yii::$app->getUrlManager()->createUrl(['post/view', 'id' => 100, '#' => 'content']); | /project.ru/web/index.php?r=post/index&id=100#content | /project.ru/web/index/post/index/id/100#content |
Yii::$app->urlManager->createAbsoluteUrl('post/index'); абсолютная ссылка |
http://project.ru/web/index.php?r=post/index | http://project.ru.ru/web/index/post/index |
Yii::$app->request->baseUrl базовый URL относительно корневого каталога Веб сервера |
/project.ru/web | /project.ru/web |
Yii::$app->request->absoluteUrl текущая абсолютная ссылка |
http://project.ru.ru/web/index.php | http://project.ru/web/index |
Yii::$app->request->url текущая ссылка |
/project.ru/web/index.php | /project.ru/web/index |
Yii::$app->request->queryParams получаем массив с параметрами |
[] | [] |
Yii::$app->request->queryString получаем запрошенную ссылку |
||
$url=Yii::$app->urlManager->createUrl(['user/view', 'id' => 1]); Yii::$app->getResponse()->redirect($url); перенаправление ссылки |
||
Yii::$app->user->loginUrl ссылка авторизации |
[ [0] => site/login] | [ [0] => site/login] |
Yii::$app->user->isGuest Проверка, зарегистрирован пользователь или нет |
true или false | true или false |
Для того чтобы узнать название текущего контроллера, модуля или действия, можно использовать слудующий программный код
echo Yii::$app->controller->id; echo Yii::$app->controller->action->id; echo Yii::$app->controller->module->id;