Чтобы изменить маршрут приложения по умолчанию, вам необходимо настроить свойство defaultRoute .
Шаг 1 — Измените файл config / web.php следующим образом.
<?php $params = require(__DIR__ . '/params.php'); $config = [ 'id' => 'basic', 'basePath' => dirname(__DIR__), 'bootstrap' => ['log'], 'defaultRoute' => 'site/contact', 'components' => [ //other code ?>
Шаг 2 — Получил http: // localhost: 8080 / index.php . Вы увидите страницу контактов по умолчанию.
Чтобы временно перевести приложение в режим обслуживания, необходимо настроить свойство yii \ web \ Application :: $ catchAll .
Шаг 3 — Добавьте следующую функцию в SiteController .
public function actionMaintenance() { echo "<h1>Maintenance</h1>"; }
Шаг 4 — Затем измените файл config / web.php следующим образом.
<?php $params = require(__DIR__ . '/params.php'); $config = [ 'id' => 'basic', 'basePath' => dirname(__DIR__), 'bootstrap' => ['log'], 'catchAll' => ['site/maintenance'], 'components' => [ //OTHER CODE
Шаг 5 — Теперь введите любой URL вашего приложения, вы увидите следующее.
Создание URL
Для создания различных типов URL вы можете использовать вспомогательный метод yii \ helpers \ Url :: to () . В следующем примере предполагается, что используется формат URL по умолчанию.
Шаг 1. Добавьте метод actionRoutes () в SiteController .
public function actionRoutes() { return $this->render('routes'); }
Этот метод просто отображает маршруты .
Шаг 2 — Внутри каталога views / site создайте файл rout.php со следующим кодом.
<?php use yii\helpers\Url; ?> <h4> <b>Url::to(['post/index']):</b> <?php // creates a URL to a route: /index.php?r = post/index echo Url::to(['post/index']); ?> </h4> <h4> <b>Url::to(['post/view', 'id' => 100]):</b> <?php // creates a URL to a route with parameters: /index.php?r = post/view&id=100 echo Url::to(['post/view', 'id' => 100]); ?> </h4> <h4> <b>Url::to(['post/view', 'id' => 100, '#' => 'content']):</b> <?php // creates an anchored URL: /index.php?r = post/view&id=100#content echo Url::to(['post/view', 'id' => 100, '#' => 'content']); ?> </h4> <h4> <b>Url::to(['post/index'], true):</b> <?php // creates an absolute URL: http://www.example.com/index.php?r=post/index echo Url::to(['post/index'], true); ?> </h4> <h4> <b>Url::to(['post/index'], 'https'):</b> <?php // creates an absolute URL using the https scheme: https://www.example.com/index.php?r=post/index echo Url::to(['post/index'], 'https'); ?> </h4>
Шаг 3 — Введите http: // localhost: 8080 / index.php? R = site / routs , вы увидите некоторые варианты использования функции to () .
Маршрут, передаваемый методу yii \ helpers \ Url :: to (), может быть относительным или абсолютным в соответствии со следующими правилами:
-
если маршрут пуст, будет использован текущий запрашиваемый маршрут.
-
если у маршрута нет косой черты, он считается маршрутом относительно текущего модуля.
-
если маршрут не содержит косых черт, он считается идентификатором действия текущего контроллера.
если маршрут пуст, будет использован текущий запрашиваемый маршрут.
если у маршрута нет косой черты, он считается маршрутом относительно текущего модуля.
если маршрут не содержит косых черт, он считается идентификатором действия текущего контроллера.
Вспомогательный класс yii \ helpers \ Url также предоставляет несколько полезных методов.
Шаг 4 — Изменить вид маршрутов, как показано в следующем коде.
<?php use yii\helpers\Url; ?> <h4> <b>Url::home():</b> <?php // home page URL: /index.php?r=site/index echo Url::home(); ?> </h4> <h4> <b>Url::base():</b> <?php // the base URL, useful if the application is deployed in a sub-folder of the Web root echo Url::base(); ?> </h4> <h4> <b>Url::canonical():</b> <?php // the canonical URL of the currently requested URL // see https://en.wikipedia.org/wiki/Canonical_link_element echo Url::canonical(); ?> </h4> <h4> <b>Url::previous():</b> <?php // remember the currently requested URL and retrieve it back in later requests Url::remember(); echo Url::previous(); ?> </h4>
Шаг 5 — Если вы введете адрес http: // localhost: 8080 / index.php? R = site / маршруты в веб-браузере, вы увидите следующее.