Версия: 6.x
burger close
Класс Manager

Подробное описание

Менеджер маршрутов. Встречает запрос и передает управление подходящему маршруту модуля или контроллеру.

Открытые члены

 isTechRoute ()
 
 setDisabledRoutes ($routes_id)
 
 initRoutes ()
 
 gzipEnabled ($bool=null)
 
 addRoute (RouteAbstract $route)
 
 removeRoute ($id)
 
 getUrl ($route_id, $params=[], $absolute=false, $mask_key=null)
 
 getRootUrl ($absolute=false)
 
 getUrlPattern ($route_id=null, $params=null, $absolute=true)
 
 getAdminUrl ($mod_action=null, $params=null, $mod_controller=null, $absolute=false)
 
 getAdminPattern ($mod_action=null, $params=[], $mod_controller=null)
 
 isAdminZone ()
 
 dispatch ()
 
 buildAbsoluteUrl ($relative_url)
 

Открытые статические члены

static isStorageUrl ()
 
static isRobotUserAgent ()
 
static obj ()
 
static getRoutes ()
 
static getRoute ($id)
 
static getCurrentRoute ()
 
static setCurrentRoute (RouteAbstract $route)
 

Поля данных

const ADMIN_ROUTE = 'main.admin'
 
 $admin_route
 
 $is_admin_zone
 
 $default_route
 
 $enable_gzip = false
 

Защищенные члены

 __construct ()
 

Защищенные данные

 $http_request
 

Конструктор(ы)

__construct ( )
protected

Manager constructor.

Методы

addRoute ( RouteAbstract  $route)

Добавляет маршрут в общий список

Аргументы
RouteAbstract$routeмаршрут
buildAbsoluteUrl (   $relative_url)

Возвращает абсолютную ссылку для текущего сайта или партнерского сайта. Итоговая ссылка зависит от текущего партнерского сайта

Аргументы
string$relative_urlотносительный URL
Возвращает
string
dispatch ( )

Выполняет поиск необходимого маршрута и передает ему управление

getAdminPattern (   $mod_action = null,
  $params = [],
  $mod_controller = null 
)

Аналог getAdminUrl за исключением того, что может оставлять незакодированными для URL значения ключей Используется для генерации маски Url, в которую можно очень быстро подставлять значения

Аргументы
mixed$mod_action- action вызываемого контроллера, если не указан берется из текущего url
mixed$params- дополнительные параметры. используйте запись ':(двоеточие)ИМЯ КЛЮЧА' => 'ЗНАЧЕНИЕ', чтобы указать, что данный ключ не следует кодировать
mixed$mod_controller- фронт контроллер, который будет вызван (обратный слеш заменяется на -(минус), можно вырезать часть "-controller-admin"), если не указан берется из текущего URL
Возвращает
string
getAdminUrl (   $mod_action = null,
  $params = null,
  $mod_controller = null,
  $absolute = false 
)

Упрощенная функция для построения URL в административной части. Если какой-то из параметров не задан, то используется текущее значение, кроме $params

Аргументы
string$mod_action- action вызываемого контроллера, если не указан берется из текущего url
array | null$params- дополнительные параметры
string$mod_controller- фронт контроллер, который будет вызван (обратный слеш заменяется на -(минус), можно вырезать часть "-controller-admin"), если не указан берется из текущего URL
bool$absolute- Если true, то путь будет абсолютным
Возвращает
string
static getCurrentRoute ( )
static

Возвращает текущий маршрут

Возвращает
RouteAbstract|null
getRootUrl (   $absolute = false)

Возвращает URL корня текущего сайта

Аргументы
bool$absolute- абсолютная ссылка
Возвращает
string
static getRoute (   $id)
static

Возвращает маршрут по ID, вслучае, если маршрут не найден возврщается заглушка RouteUnknown

Аргументы
mixed$id
Возвращает
RouteAbstract
static getRoutes ( )
static

Возвращает список маршрутов

Возвращает
RouteAbstract[]
getUrl (   $route_id,
  $params = [],
  $absolute = false,
  $mask_key = null 
)

Возвращает построенный маршрутом URL с учетом параметров В случае если маршрут не найден возвращает пустую строку. Генерирует warning

Аргументы
string  |  null$route_idИдентификатор маршрута. Если передан null, то используется текущий маршрут
array$params- дополнительные параметры
bool$absolute- если true, то будет возвращен абсолютный путь
mixed$mask_key- ключ маски, которая должна быть использована для построения маршрута
Возвращает
string
getUrlPattern (   $route_id = null,
  $params = null,
  $absolute = true 
)

Аналог getUrl за исключением того, что может оставлять незакодированными для URL значения ключей Используется для генерации маски Url, в которую можно очень быстро подставлять значения

Аргументы
string | null$route_id- идентификатор текущего маршрута
array | null$params- дополнительные параметры. используйте запись ':(двоеточие)ИМЯ КЛЮЧА' => 'ЗНАЧЕНИЕ', чтобы указать, что данный ключ не следует кодировать
boolean$absolute- строить абсолютный адрес?
Возвращает
string
gzipEnabled (   $bool = null)

Включает/выключает сжатие данных Gzip Если не передан аргумент, то возвращает текущее значение

Аргументы
boolean  |  null$bool
Возвращает
boolean
initRoutes ( )

Получает и формирует маршруты системы

Event: getRoute Запрашивает все маршруты Parameter: array of RS_Router_RouteAbstract

isAdminZone ( )

Возвращает true, если текущая страница является страницей административной панели

Возвращает
boolean
static isRobotUserAgent ( )
static

Возвращает true, если user-agent пользователя принадлежит роботу

Возвращает
bool
static isStorageUrl ( )
static

Возвращает true, если текущий URL ведёт в хранилище

Возвращает
bool
isTechRoute ( )

Возвращает true, если текущий URL является техническим и должен быть доступен всегда

Возвращает
bool
static obj ( )
static

Возвращает объект текущего класса

Возвращает
removeRoute (   $id)

Удаляет route из списка по id

Аргументы
string$id- ID маршрута
Возвращает
void
static setCurrentRoute ( RouteAbstract  $route)
static

Устанавливает текущий маршрут

Аргументы
RouteAbstract$routeмаршрут
setDisabledRoutes (   $routes_id)

Устанавливает маршруты, которые необходимо отключить

Аргументы
array$routes_idмассив с ID маршрутов

Поля

$admin_route
$default_route
$enable_gzip = false
$http_request
protected
$is_admin_zone
const ADMIN_ROUTE = 'main.admin'