Spec-Zone.ru › Yii 2.0

Класс yii\helpers\BaseUrl

Все классы | Свойства | Методы
Наследование yii\helpers\BaseUrl
Подклассы yii\helpers\Url
Доступно с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/helpers/BaseUrl.php

BaseUrl предоставляет конкретную реализацию для yii\helpers\Url.

Не используйте BaseUrl. Используйте yii\helpers\Url вместо него.

Публичные свойства

Свойство Тип Описание Определено в
$urlManager yii\web\UrlManager Менеджер URL для создания URL-адресов yii\helpers\BaseUrl

Публичные методы

Метод Описание Определено в
base() Возвращает базовый URL текущего запроса. yii\helpers\BaseUrl
canonical() Возвращает канонический URL текущей страницы. yii\helpers\BaseUrl
current() Создает URL, используя текущий маршрут и параметры GET. yii\helpers\BaseUrl
ensureScheme() Нормализует URL, гарантируя, что он использует указанный протокол. yii\helpers\BaseUrl
home() Возвращает домашний URL. yii\helpers\BaseUrl
isRelative() Возвращает значение, указывающее, является ли URL относительным. yii\helpers\BaseUrl
previous() Возвращает URL, запомненный ранее. yii\helpers\BaseUrl
remember() Запоминает указанный URL, чтобы его можно было позже получить с помощью previous(). yii\helpers\BaseUrl
to() Создает URL на основе заданных параметров. yii\helpers\BaseUrl
toRoute() Создает URL для заданного маршрута. yii\helpers\BaseUrl

Защищенные методы

Метод Описание Определено в
getUrlManager() yii\helpers\BaseUrl
normalizeRoute() Нормализует маршрут и делает его пригодным для UrlManager. Абсолютные маршруты остаются такими же, а относительные маршруты преобразуются в абсолютные. yii\helpers\BaseUrl

Подробное описание свойств

$urlManager публическое статическое свойство (доступно с версии 2.0.8)

Менеджер URL для создания URL-адресов

public static yii\web\UrlManager $urlManager = null

Подробное описание методов

base() общедоступный статический метод

Возвращает базовый URL текущего запроса.

общедоступный статический строка base ( $scheme = false )
$scheme булево|строка

Схема URI для использования в возвращаемом базовом URL:

  • false (по умолчанию): возвращает базовый URL без информации о хосте.
  • true: возвращает абсолютный базовый URL, схема которого совпадает со схемой в yii\web\UrlManager::$hostInfo.
  • строка: возвращает абсолютный базовый URL со указанной схемой (либо http, https или пустая строка для URL с протоколом-относительным).

canonical() общедоступный статический метод

Возвращает канонический URL текущей запрошенной страницы.

Канонический URL строится с использованием yii\web\Controller::$route и yii\web\Controller::$actionParams текущего контроллера. В представлении макета можно использовать следующий код для добавления тега ссылки о каноническом URL:

$this->registerLinkTag(['rel' => 'canonical', 'href' => Url::canonical()]);
общедоступный статический строка canonical ( )
return строка

Канонический URL текущей запрошенной страницы

current() общедоступный статический метод (доступен начиная с версии 2.0.3)

Создаёт URL, используя текущий маршрут и параметры GET.

Вы можете изменить или удалить некоторые параметры GET, или добавить дополнительные параметры запроса через параметр $params. В частности, если вы укажете параметр в качестве null, то этот параметр будет удалён из существующих параметров GET; все остальные параметры, указанные в $params, будут объединены с существующими параметрами GET. Например,

// assume $_GET = ['id' => 123, 'src' => 'google'], current route is "post/view"

// /index.php?r=post%2Fview&id=123&src=google
echo Url::current();

// /index.php?r=post%2Fview&id=123
echo Url::current(['src' => null]);

// /index.php?r=post%2Fview&id=100&src=google
echo Url::current(['id' => 100]);

Обратите внимание, что если вы заменяете параметры массива с [] в конце, вы должны указать $params как вложенные массивы. Для модели PostSearchForm, где имена параметров PostSearchForm[id] и PostSearchForm[src], синтаксис будет следующим:

// index.php?r=post%2Findex&PostSearchForm%5Bid%5D=100&PostSearchForm%5Bsrc%5D=google
echo Url::current([
    $postSearch->formName() => ['id' => 100, 'src' => 'google'],
]);
общедоступный статический строка current ( массив $params = [], $scheme = false )
$params массив

Ассоциативный массив параметров, который будет объединён с текущими параметрами GET. Если значение параметра равно null, соответствующий параметр GET будет удалён.

$scheme булево|строка

Схема URI для использования в создаваемом URL:

  • false (по умолчанию): генерирует относительный URL.
  • true: возвращает абсолютный базовый URL, схема которого совпадает со схемой в yii\web\UrlManager::$hostInfo.
  • строка: генерирует абсолютный URL со указанной схемой (либо http, https или пустая строка для URL с протоколом-относительным).
return строка

Созданный URL

ensureScheme() общедоступный статический метод (доступен начиная с версии 2.0.11)

Нормализует URL, гарантируя использование указанной схемы.

Если URL относительный или схема не является строкой, нормализация пропускается.

общедоступный статический строка ensureScheme ( $url, $scheme )
$url строка

URL для обработки

$scheme строка

Схема URI, используемая в URL (например, http или https). Используйте пустую строку для создания URL с протоколом-относительным (например, //example.com/path)

return строка

Обработанный URL

getUrlManager() защищённый статический метод (доступен начиная с версии 2.0.8)

защищённый статический yii\web\UrlManager getUrlManager ( )
return yii\web\UrlManager

Менеджер URL, используемый для создания URL

home() общедоступный статический метод

Возвращает домашний URL.

общедоступный статический строка home ( $scheme = false )
$scheme булево|строка

Схема URI для использования в возвращаемом URL:

  • false (по умолчанию): возвращает относительный URL.
  • true: возвращает абсолютный URL, схема которого совпадает со схемой в yii\web\UrlManager::$hostInfo.
  • строка: возвращает абсолютный URL со указанной схемой (либо http, https или пустая строка для URL с протоколом-относительным).
return строка

Домашний URL

isRelative() общедоступный статический метод

Возвращает значение, указывающее, является ли URL относительным.

Относительный URL не имеет части информации о хосте.

общедоступный статический булево isRelative ( $url )
$url строка

URL для проверки

return булево

Является ли URL относительным

normalizeRoute() защищённый статический метод

Нормализует маршрут и делает его подходящим для UrlManager. Абсолютные маршруты остаются неизменными, а относительные маршруты преобразуются в абсолютные.

Относительный маршрут — это маршрут без ведущего слэша, например, "view", "post/view".

  • Если маршрут пустая строка, используется текущий маршрут;
  • Если маршрут вообще не содержит слэшей, он рассматривается как идентификатор действия текущего контроллера и будет добавлен перед yii\web\Controller::$uniqueId;
  • Если маршрут не имеет ведущего слэша, он считается маршрутом, относительным к текущему модулю, и будет добавлен перед uniqueId модуля.

Начиная с версии 2.0.2, маршрут также может быть указан в виде псевдонима. В этом случае псевдоним будет сначала преобразован в фактический маршрут, прежде чем будут выполнены указанные выше шаги преобразования.

защищённый статический строка normalizeRoute ( $route )
$route строка

Маршрут. Это может быть абсолютный или относительный маршрут.

return строка

Нормализованный маршрут, подходящий для UrlManager

throws yii\base\InvalidParamException

относительный маршрут указан, в то время как активный контроллер отсутствует

previous() общедоступный статический метод

Возвращает URL, ранее запомненный.

См. также:

  • remember()
  • yii\web\User::getReturnUrl()
общедоступный статический строка|null previous ( $name = null )
$name строка

Имя, связанное с URL, который был сохранён ранее. Если не указано, yii\web\User::getReturnUrl() используется для получения сохранённого URL.

return строка|null

Ранее сохранённый URL. Возвращает null, если URL не был сохранён с данным именем и $name не указан.

remember() общедоступный статический метод

Запоминает указанный URL, чтобы его можно было позже получить с помощью previous().

См. также:

  • previous()
  • yii\web\User::setReturnUrl()
public static void remember ( $url = '', $name = null )
$url строка|массив

URL для запоминания. Обратитесь к to() для допустимых форматов. Если этот параметр не указан, будет использован текущий запрашиваемый URL.

$name строка

Имя, связанное с URL для запоминания. Это может быть использовано позднее методом previous(). Если не задано, будет использоваться yii\web\User::setReturnUrl() с переданным URL.

to() public static метод

Создаёт URL на основе заданных параметров.

Этот метод очень похож на toRoute(). Единственное отличие заключается в том, что этот метод требует указания маршрута только в виде массива. Если задана строка, она будет обрабатываться как URL. В частности, если $url

  • массив: будет вызван метод toRoute() для генерации URL. Например: ['site/index'], ['post/index', 'page' => 2]. Обратитесь к toRoute() для получения более подробной информации о том, как указать маршрут.
  • строка с префиксом @: она обрабатывается как псевдоним, и возвращается соответствующая строка-псевдоним.
  • пустая строка: возвращается текущий запрашиваемый URL;
  • обычная строка: возвращается как есть.

Когда $scheme указан (либо строка, либо true), возвращается абсолютный URL с информацией о хосте (полученной из yii\web\UrlManager::$hostInfo). Если $url уже является абсолютным URL, его схема заменяется указанной.

Ниже приведены некоторые примеры использования этого метода:

// /index.php?r=site%2Findex
echo Url::to(['site/index']);

// /index.php?r=site%2Findex&src=ref1#name
echo Url::to(['site/index', 'src' => 'ref1', '#' => 'name']);

// /index.php?r=post%2Findex     assume the alias "@posts" is defined as "/post/index"
echo Url::to(['@posts']);

// the currently requested URL
echo Url::to();

// /images/logo.gif
echo Url::to('@web/images/logo.gif');

// images/logo.gif
echo Url::to('images/logo.gif');

// http://www.example.com/images/logo.gif
echo Url::to('@web/images/logo.gif', true);

// https://www.example.com/images/logo.gif
echo Url::to('@web/images/logo.gif', 'https');

// //www.example.com/images/logo.gif
echo Url::to('@web/images/logo.gif', '');
public static строка to ( $url = '', $scheme = false )
$url массив|строка

Параметр, используемый для генерации корректного URL

$scheme булево значение|строка

Схема URI для использования в генерируемом URL:

  • false (по умолчанию): генерация относительного URL.
  • true: возврат абсолютного базового URL, схема которого совпадает со схемой в yii\web\UrlManager::$hostInfo.
  • строка: генерация абсолютного URL со специфической схемой (либо http, https или пустая строка для URL с протокольным относительным адресом).
return строка

Сгенерированный URL

throws yii\base\InvalidParamException

относительный маршрут задан, но активного контроллера нет

toRoute() public static метод

Создаёт URL для заданного маршрута.

Этот метод будет использовать yii\web\UrlManager для создания URL.

Вы можете указать маршрут как строку, например, site/index. Также можно использовать массив, если необходимо указать дополнительные параметры запроса для создаваемого URL. Формат массива должен быть:

// generates: /index.php?r=site/index&param1=value1&param2=value2
['site/index', 'param1' => 'value1', 'param2' => 'value2']

Если нужно создать URL с якорем, можно использовать формат массива с параметром #. Например,

// generates: /index.php?r=site/index&param1=value1#name
['site/index', 'param1' => 'value1', '#' => 'name']

Маршрут может быть абсолютным или относительным. Абсолютный маршрут имеет префикс слэшем (например, /site/index), в то время как относительный — нет (например, site/index или index). Относительный маршрут будет преобразован в абсолютный по следующим правилам:

  • Если маршрут пустой, будет использован текущий маршрут route;
  • Если маршрут не содержит слэшей (например, index), он считается идентификатором действия текущего контроллера и будет добавлен к yii\web\Controller::$uniqueId;
  • Если маршрут не имеет префиксного слэша (например, site/index), он считается маршрутом, относительным к текущему модулю, и будет добавлен к уникальному идентификатору модуля uniqueId.

Начиная с версии 2.0.2, маршрут также может быть указан как псевдоним. В этом случае псевдоним будет преобразован в фактический маршрут перед применением вышеупомянутых шагов преобразования.

Ниже приведены примеры использования этого метода:

// /index.php?r=site%2Findex
echo Url::toRoute('site/index');

// /index.php?r=site%2Findex&src=ref1#name
echo Url::toRoute(['site/index', 'src' => 'ref1', '#' => 'name']);

// http://www.example.com/index.php?r=site%2Findex
echo Url::toRoute('site/index', true);

// https://www.example.com/index.php?r=site%2Findex
echo Url::toRoute('site/index', 'https');

// /index.php?r=post%2Findex     assume the alias "@posts" is defined as "post/index"
echo Url::toRoute('@posts');
public static строка toRoute ( $route, $scheme = false )
$route строка|массив

Используйте строку для представления маршрута (например, index, site/index), или массив для представления маршрута с параметрами запроса (например, ['site/index', 'param1' => 'value1']).

$scheme булево значение|строка

Схема URI для использования в генерируемом URL:

  • false (по умолчанию): генерация относительного URL.
  • true: возврат абсолютного базового URL, схема которого совпадает со схемой в yii\web\UrlManager::$hostInfo.
  • строка: генерация абсолютного URL со специфической схемой (либо http, https или пустая строка для URL с протокольным относительным адресом).
return строка

Сгенерированный URL

throws yii\base\InvalidParamException

относительный маршрут задан, но активного контроллера нет

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-helpers-baseurl.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API