Процесс формирования ссылок в Yii 2.x (Часть 2)

Создание ссылок с помощью Url

Для работы с ссылками используем следующее пространство имен

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();
каноническая ссылка запрошенной ссылки
   

Создание ссылок с помощью компонента приложения UrlManager

 Примеры Не ЧПУ  ЧПУ 
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;