yii2
Маршрутизация и URL-адреса
Поиск…
замечания
Все URL-адреса должны быть созданы с помощью помощника yii\helpers\Url
это очень помогает вам, если вы решите изменить правила URL-адреса в urlManager.
Создание URL-адресов
Helper yii \ helpers \ Url предоставляет набор статических методов для управления URL-адресами. Этот помощник может использоваться в коде представлений / контроллеров.
URL-адрес маршрута:
echo Url::to(['post/index']);
URL-адрес маршрута с параметрами:
echo Url::to(['post/view', 'id' => 100]);
привязанный URL:
echo Url::to(['post/view', 'id' => 100, '#' => 'content']);
абсолютный URL:
echo Url::to(['post/index'], true);
абсолютный URL-адрес с использованием схемы https:
echo Url::to(['post/index'], 'https');
Примечание . Маршрут, переданный в метод Url::to()
чувствителен к контексту. Он может использовать текущий модуль и текущий контроллер. Например, предположим, что текущий модуль является admin
а текущий контроллер - post
:
относительный маршрут с идентификатором действия (не содержит никаких косых черт):
echo Url::to(['index']); // -->> '/index.php?r=admin%2Fpost%2Findex'
относительный маршрут (не имеет косой черты):
echo Url::to(['post/index']); // -->> '/index.php?r=admin%2Fpost%2Findex'
абсолютный маршрут (начинается с косой черты):
echo Url::to(['/post/index']); // -->> '/index.php?r=post%2Findex'
текущий запрошенный URL:
echo Url::to();
echo Url::to(['']);
Чтобы создать URL, основанный на текущем маршруте, и параметры GET используют Url :: current () .
Предположим, что $_GET = ['id' => 10, 'page' => 7]
, текущий маршрут - post/view
.
текущий URL:
echo Url::current(); // -->> '/index.php?r=post%2Fview&id=10&page=7'
текущий URL без параметра page
:
echo Url::current(['page' => null]); // -->> '/index.php?r=post%2Fview&id=10'
текущий URL с измененным параметром page
:
echo Url::current(['page' => 12]); // -->> '/index.php?r=post%2Fview&id=10&page=12'