Буквально несколько минут назад смёржил ветку с изменениями в работе с URL в основной репозиторий Yii2.
Добавлен новый хелпер yii\helpers\Url
и убраны:
yii\heplers\Html::url
. Вместо негоyii\helpers\Url::to
.yii\web\Controller::createUrl
иyii\web\Controller::createAbsoluteUrl
. Вместо нихyii\helpers\Url::toRoute
.yii\web\Controller::getCanonicalUrl
. Вместо негоyii\helpers\Url::canonical
.
Пользоваться новым хелпером можно так:
use yii\helpers\Url; echo Url::to(''); // текущий URL echo Url::toRoute(['view', 'id' => 'contact']); // тот же контроллер, другой экшн echo Url::toRoute('post/index'); // тот же модуль, другие контроллер и экшн echo Url::toRoute('/site/index'); // абсолютный роут вне зависимости от текущего контроллера echo Url::toRoute('hi-tech'); // URL для экшна в с регистрозависимым именем `actionHiTech` текущего контроллера echo Url::toRoute(['/date-time/fast-forward', 'id' => 105]); // URL для регистрозависимых экшна и контроллера `DateTimeController::actionFastForward` echo Url::to('@web'); // получаем URL из алиаса echo Url::canonical(); // получаем canonical URL для текущей страницы echo Url::home(); // получаем домашний URL Url::remember(); // сохраняем URL для последующего использования Url::previous(); // получаем ранее сохранённый URL