Маршрутизатор
класс Маршрутизатор реализует HttpKernelInterface, RouteFiltererInterface (Просмотреть исходный код)
Свойства
| protected Диспетчер событий | $events | Экземпляр диспетчера событий. | |
| protected Контейнер | $container | Экземпляр контейнера IoC. | |
| protected Коллекция маршрутов | $routes | Экземпляр коллекции маршрутов. | |
| protected Маршрут | $current | Экземпляр текущего маршрута. | |
| protected Запрос | $currentRequest | Запрос, который в настоящее время обрабатывается. | |
| protected Диспетчер контроллеров | $controllerDispatcher | Экземпляр диспетчера контроллеров. | |
| protected Инспектор контроллеров | $inspector | Экземпляр инспектора контроллеров. | |
| protected bool | $filtering | Указывает, выполняет ли маршрутизатор фильтрацию. | |
| protected array | $patternFilters | Зарегистрированные фильтры, основанные на шаблонах. | |
| protected array | $regexFilters | Зарегистрированные фильтры, основанные на регулярных выражениях. | |
| protected array | $binders | Зарегистрированные связующие значения маршрутов. | |
| protected array | $patterns | Глобально доступные шаблоны параметров. | |
| protected array | $groupStack | Стек атрибутов группы маршрутов. | |
| static array | $verbs | Все поддерживаемые маршрутизатором глаголы. | |
| protected array | $resourceDefaults | Действия по умолчанию для контроллера ресурсов. |
Методы
| void | __construct(Dispatcher $events, Container $container = null) Создать новый экземпляр Router. | |
| Route | get(string $uri, Closure|array|string $action) Зарегистрировать новый маршрут GET в маршрутизаторе. | |
| Route | post(string $uri, Closure|array|string $action) Зарегистрировать новый маршрут POST в маршрутизаторе. | |
| Route | put(string $uri, Closure|array|string $action) Зарегистрировать новый маршрут PUT в маршрутизаторе. | |
| Route | patch(string $uri, Closure|array|string $action) Зарегистрировать новый маршрут PATCH в маршрутизаторе. | |
| Route | delete(string $uri, Closure|array|string $action) Зарегистрировать новый маршрут DELETE в маршрутизаторе. | |
| Route | options(string $uri, Closure|array|string $action) Зарегистрировать новый маршрут OPTIONS в маршрутизаторе. | |
| Route | any(string $uri, Closure|array|string $action) Зарегистрировать новый маршрут, отвечающий на все типы запросов. | |
| Route | match(array|string $methods, string $uri, Closure|array|string $action) Зарегистрировать новый маршрут с указанными методами. | |
| void | controllers(array $controllers) Зарегистрировать массив контроллеров с подстановочной маршрутизацией. | |
| void | controller(string $uri, string $controller, array $names = array()) Проложить маршрут к контроллеру с URI и подстановочной маршрутизацией. | |
| void | registerInspected(array $route, string $controller, string $method, array $names) Зарегистрировать проверенный маршрут контроллера. | |
| void | addFallthroughRoute(string $controller, string $uri) Добавить маршрут для контроллера, который обрабатывает все запросы. | |
| void | resource(string $name, string $controller, array $options = array()) Проложить маршрут ресурса к контроллеру. | |
| void | prefixedResource(string $name, string $controller, array $options) Создать набор маршрутов ресурса с префиксом. | |
| array | getResourcePrefix(string $name) Извлечь ресурс и префикс из имени ресурса. | |
| array | getResourceMethods(array $defaults, array $options) Получить применимые методы ресурса. | |
| string | getResourceUri(string $resource) Получить базовый URI ресурса для данного ресурса. | |
| string | getNestedResourceUri(array $segments) Получить URI для вложенного сегмента массива ресурсов. | |
| array | getResourceAction(string $resource, string $controller, string $method, array $options) Получить массив действий для маршрута ресурса. | |
| string | getResourceName(string $resource, string $method, array $options) Получить имя для данного ресурса. | |
| string | getGroupResourceName(string $prefix, string $resource, string $method) Получить имя ресурса для сгруппированного ресурса. | |
| string | getResourceWildcard(string $value) Отформатировать подстановочный символ ресурса для использования. | |
| Route | addResourceIndex(string $name, string $base, string $controller, array $options) Добавить метод index для маршрута ресурса. | |
| Route | addResourceCreate(string $name, string $base, string $controller, array $options) Добавить метод create для маршрута ресурса. | |
| Route | addResourceStore(string $name, string $base, string $controller, array $options) Добавить метод store для маршрута ресурса. | |
| Route | addResourceShow(string $name, string $base, string $controller, array $options) Добавить метод show для маршрута ресурса. | |
| Route | addResourceEdit(string $name, string $base, string $controller, array $options) Добавить метод edit для маршрута ресурса. | |
| void | addResourceUpdate(string $name, string $base, string $controller, array $options) Добавить метод update для маршрута ресурса. | |
| Route | addPutResourceUpdate(string $name, string $base, string $controller, array $options) Добавить метод update для маршрута ресурса. | |
| void | addPatchResourceUpdate(string $name, string $base, string $controller) Добавить метод update для маршрута ресурса. | |
| Route | addResourceDestroy(string $name, string $base, string $controller, array $options) Добавить метод destroy для маршрута ресурса. | |
| void | group(array $attributes, Closure $callback) Создать группу маршрутов с общими атрибутами. | |
| void | updateGroupStack(array $attributes) Обновить стек групп с заданными атрибутами. | |
| array | mergeWithLastGroup(array $new) Объединить заданный массив с последним стеком групп. | |
| static array | mergeGroup(array $new, array $old) Объединить заданные атрибуты группы. | |
| static string | formatUsesPrefix(array $new, array $old) Отформатировать префикс uses для новых атрибутов группы. | |
| static string | formatGroupPrefix(array $new, array $old) Отформатировать префикс для новых атрибутов группы. | |
| string | getLastGroupPrefix() Получить префикс из последней группы в стеке. |
| Маршрут | addRoute(array|string $methods, string $uri, Closure|array|string $action) Добавить маршрут в базовый набор маршрутов. | |
| Маршрут | createRoute(array|string $methods, string $uri, mixed $action) Создать новый экземпляр маршрута. | |
| Маршрут | newRoute(array|string $methods, string $uri, mixed $action) Создать новый объект Route. | |
| строка | prefix(string $uri) Добавить префикс к заданному URI с использованием последнего префикса. | |
| Маршрут | addWhereClausesToRoute(Маршрут $route) Добавить необходимые условия where к маршруту на основе его первоначальной регистрации. | |
| void | mergeController(Маршрут $route) Объединить стек групп с действием контроллера. | |
| bool | routingToController(array $action) Определить, направлен ли маршрут на контроллер. | |
| массив | getControllerAction(array|string $action) Добавить действие маршрута, основанное на контроллере, в массив action. | |
| Closure | getClassClosure(string $controller) Получить Closure для действия, основанного на контроллере. | |
| строка | prependGroupUses(string $uses) Добавить последние uses группы в строку использования. | |
| Ответ | dispatch(Запрос $request) Передать запрос приложению. | |
| mixed | dispatchToRoute(Запрос $request) Передать запрос маршруту и вернуть ответ. | |
| Маршрут | findRoute(Запрос $request) Найти маршрут, соответствующий заданному запросу. | |
| Маршрут | substituteBindings(Маршрут $route) Подставить привязки маршрута в маршрут. | |
| mixed | performBinding(string $key, string $value, Маршрут $route) Вызвать обратный вызов привязки для заданного ключа. | |
| void | matched(string|callable $callback) Зарегистрировать обработчик события совпадения маршрута. | |
| void | before(string|callable $callback) Зарегистрировать новый фильтр «before» в маршрутизаторе. | |
| void | after(string|callable $callback) Зарегистрировать новый фильтр «after» в маршрутизаторе. | |
| void | addGlobalFilter(string $filter, string|callable $callback) Зарегистрировать новый глобальный фильтр в маршрутизаторе. | |
| void | filter(string $name, mixed $callback) Зарегистрировать новый фильтр в маршрутизаторе. | |
| mixed | parseFilter(callable|string $callback) Обработать зарегистрированный фильтр. | |
| void | when(string $pattern, string $name, array|null $methods = null) Зарегистрировать фильтр на основе шаблона в маршрутизаторе. | |
| void | whenRegex(string $pattern, string $name, array|null $methods = null) Зарегистрировать фильтр на основе регулярного выражения в маршрутизаторе. | |
| void | model(string $key, string $class, Closure $callback = null) Зарегистрировать привязку модели для подстановки. | |
| void | bind(string $key, string|callable $binder) Добавить новую привязку параметра маршрута. | |
| Closure | createClassBinding(string $binding) Создать привязку на основе класса с использованием контейнера IoC. | |
| void | pattern(string $key, string $pattern) Установить глобальный шаблон where для всех маршрутов | |
| void | patterns(array $patterns) Установить группу глобальных шаблонов where для всех маршрутов | |
| mixed | callFilter(string $filter, Запрос $request, Ответ $response = null) Вызвать заданный фильтр с запросом и ответом. | |
| mixed | callRouteBefore(Маршрут $route, Запрос $request) Вызвать фильтры before для данного маршрута. | |
| mixed|null | callPatternFilters(Маршрут $route, Запрос $request) Вызвать фильтры на основе шаблонов для запроса. | |
| массив | findPatternFilters(Запрос $request) Найти фильтры по шаблону, соответствующие запросу. | |
| массив | patternsByMethod(string $method, array $filters) Отфильтровать фильтры по шаблону, которые не применяются к глаголу запроса. | |
| bool | filterSupportsMethod(array $filter, array $method) Определить, применяется ли данный фильтр по шаблону к заданному методу. | |
| mixed | callAttachedBefores(Маршрут $route, Запрос $request) Вызвать фильтры before (не по шаблону) для данного маршрута. | |
| mixed | callRouteAfter(Маршрут $route, Запрос $request, Ответ $response) Вызвать фильтры after для данного маршрута. | |
| mixed | callRouteFilter(string $filter, array $parameters, Маршрут $route, Запрос $request, Ответ|null $response = null) Вызвать заданный фильтр маршрута. | |
| массив | cleanFilterParameters(array $parameters) Очистить параметры, передаваемые обратным вызовом фильтра. |
| Response | prepareResponse(Request $request, mixed $response) Создать экземпляр ответа из заданного значения. | |
| void | withoutFilters(callable $callback) Выполнить обратный вызов с отключёнными фильтрами на маршрутизаторе. | |
| void | enableFilters() Включить фильтрацию маршрутов на маршрутизаторе. | |
| void | disableFilters() Отключить фильтрацию маршрутов на маршрутизаторе. | |
| mixed | input(string $key, string $default = null) Получить параметр маршрута для текущего маршрута. | |
| Маршрут | getCurrentRoute() Получить текущий экземпляр маршрута. | |
| Маршрут | current() Получить текущий экземпляр маршрута. | |
| bool | has(string $name) Проверить, существует ли маршрут с заданным именем. | |
| string|null | currentRouteName() Получить имя текущего маршрута. | |
| bool | is() Псевдоним для метода «currentRouteNamed». | |
| bool | currentRouteNamed(string $name) Определить, соответствует ли текущий маршрут заданному имени. | |
| string|null | currentRouteAction() Получить действие текущего маршрута. | |
| bool | uses() Псевдоним для метода «currentRouteUses». | |
| bool | currentRouteUses(string $action) Определить, соответствует ли действие текущего маршрута заданному действию. | |
| Запрос | getCurrentRequest() Получить запрос, который в настоящее время обрабатывается. | |
| КоллекцияМаршрутов | getRoutes() Получить основную коллекцию маршрутов. | |
| ДиспечерКонтроллеров | getControllerDispatcher() Получить экземпляр диспечера контроллеров. | |
| void | setControllerDispatcher(ДиспечерКонтроллеров $dispatcher) Установить экземпляр диспечера контроллеров. | |
| ИнспекторКонтроллеров | getInspector() Получить экземпляр инспектора контроллеров. | |
| array | getPatterns() Получить глобальные шаблоны «where». | |
| Response | handle(Request $request, int $type = HttpKernelInterface::MASTER_REQUEST, bool $catch = true) Получить ответ для данного запроса. |
Подробности
void __construct(Dispatcher $events, Container $container = null)
Создать новый экземпляр Router.
Маршрут get(string $uri, Closure|array|string $action)
Зарегистрировать новый маршрут GET на маршрутизаторе.
Маршрут post(string $uri, Closure|array|string $action)
Зарегистрировать новый маршрут POST на маршрутизаторе.
Маршрут put(string $uri, Closure|array|string $action)
Зарегистрировать новый маршрут PUT на маршрутизаторе.
Маршрут patch(string $uri, Closure|array|string $action)
Зарегистрировать новый маршрут PATCH на маршрутизаторе.
Маршрут delete(string $uri, Closure|array|string $action)
Зарегистрировать новый маршрут DELETE на маршрутизаторе.
Маршрут options(string $uri, Closure|array|string $action)
Зарегистрировать новый маршрут OPTIONS на маршрутизаторе.
Маршрут any(string $uri, Closure|array|string $action)
Зарегистрировать новый маршрут, обрабатывающий все глаголы.
Маршрут match(array|string $methods, string $uri, Closure|array|string $action)
Зарегистрировать новый маршрут с заданными глаголами.
void controllers(array $controllers)
Зарегистрировать массив контроллеров с маршрутизацией по шаблону.
void controller(string $uri, string $controller, array $names = array())
Направить контроллер на URI с маршрутизацией по шаблону.
protected void registerInspected(array $route, string $controller, string $method, array $names)
Зарегистрировать маршрут контроллера после проверки.
protected void addFallthroughRoute(string $controller, string $uri)
Добавить проходной маршрут для контроллера.
void resource(string $name, string $controller, array $options = array())
Направить ресурс на контроллер.
protected void prefixedResource(string $name, string $controller, array $options)
Создать набор префиксных маршрутов ресурсов.
protected array getResourcePrefix(string $name)
Извлечь ресурс и префикс из имени ресурса.
protected array getResourceMethods(array $defaults, array $options)
Получить применимые методы ресурса.
string getResourceUri(string $resource)
Получить базовый URI ресурса для данного ресурса.
protected string getNestedResourceUri(array $segments)
Получить URI для вложенного массива сегментов ресурса.
protected array getResourceAction(string $resource, string $controller, string $method, array $options)
Получить массив действий для маршрута ресурса.
protected string getResourceName(string $resource, string $method, array $options)
Получить имя для данного ресурса.
protected string getGroupResourceName(string $prefix, string $resource, string $method)
Получить имя ресурса для сгруппированного ресурса.
string getResourceWildcard(string $value)
Форматировать символ подстановки ресурса для использования.
protected Маршрут addResourceIndex(string $name, string $base, string $controller, array $options)
Добавить метод индекса для маршрута ресурса.
protected Маршрут addResourceCreate(string $name, string $base, string $controller, array $options)
Добавить метод создания для маршрута ресурса.
protected Маршрут addResourceStore(string $name, string $base, string $controller, array $options)
Добавить метод store для маршрута с ресурсом.
protected Маршрут addResourceShow(string $name, string $base, string $controller, array $options)
Добавить метод show для маршрута с ресурсом.
protected Маршрут addResourceEdit(string $name, string $base, string $controller, array $options)
Добавить метод edit для маршрута с ресурсом.
protected void addResourceUpdate(string $name, string $base, string $controller, array $options)
Добавить метод update для маршрута с ресурсом.
protected Маршрут addPutResourceUpdate(string $name, string $base, string $controller, array $options)
Добавить метод update для маршрута с ресурсом.
protected void addPatchResourceUpdate(string $name, string $base, string $controller)
Добавить метод update для маршрута с ресурсом.
protected Маршрут addResourceDestroy(string $name, string $base, string $controller, array $options)
Добавить метод destroy для маршрута с ресурсом.
void group(array $attributes, Closure $callback)
Создать группу маршрутов с общими атрибутами.
protected void updateGroupStack(array $attributes)
Обновить стек групп с заданными атрибутами.
array mergeWithLastGroup(array $new)
Объединить заданный массив со стеком последней группы.
static array mergeGroup(array $new, array $old)
Объединить атрибуты заданной группы.
static protected string formatUsesPrefix(array $new, array $old)
Отформатировать префикс uses для новых атрибутов группы.
static protected string formatGroupPrefix(array $new, array $old)
Отформатировать префикс для новых атрибутов группы.
protected string getLastGroupPrefix()
Получить префикс из последней группы в стеке.
protected Маршрут addRoute(array|string $methods, string $uri, Closure|array|string $action)
Добавить маршрут в основное хранилище маршрутов.
protected Маршрут createRoute(array|string $methods, string $uri, mixed $action)
Создать новый маршрут.
protected Маршрут newRoute(array|string $methods, string $uri, mixed $action)
Создать новый объект Route.
protected string prefix(string $uri)
Добавить префикс к заданному URI.
protected Route addWhereClausesToRoute(Route $route)
Добавить необходимые условия where к маршруту на основе его первоначальной регистрации.
protected void mergeController(Route $route)
Объединить стек групп с действием контроллера.
protected bool routingToController(array $action)
Определить, маршрутизируется ли действие к контроллеру.
protected array getControllerAction(array|string $action)
Добавить действие маршрута, основанное на контроллере, в массив действий.
protected Closure getClassClosure(string $controller)
Получить замыкание для действия, основанного на контроллере.
protected string prependGroupUses(string $uses)
Добавить последние используемые группы к предложению use.
mixed dispatchToRoute(Request $request)
Отправить запрос по маршруту и вернуть ответ.
protected mixed performBinding(string $key, string $value, Route $route)
Вызвать обратный вызов привязки для заданного ключа.
void matched(string|callable $callback)
Зарегистрировать обработчик события совпадения маршрута.
void before(string|callable $callback)
Зарегистрировать новый фильтр "before" в маршрутизаторе.
void after(string|callable $callback)
Зарегистрировать новый фильтр "after" в маршрутизаторе.
protected void addGlobalFilter(string $filter, string|callable $callback)
Зарегистрировать новый глобальный фильтр в маршрутизаторе.
void filter(string $name, mixed $callback)
Зарегистрировать новый фильтр в маршрутизаторе.
protected mixed parseFilter(callable|string $callback)
Обработать зарегистрированный фильтр.
void when(string $pattern, string $name, array|null $methods = null)
Зарегистрировать фильтр на основе шаблона в маршрутизаторе.
void whenRegex(string $pattern, string $name, array|null $methods = null)
Зарегистрировать фильтр на основе регулярного выражения в маршрутизаторе.
void model(string $key, string $class, Closure $callback = null)
Зарегистрировать связующее звено модели для подстановки значений.
void bind(string $key, string|callable $binder)
Добавить новое связующее звено для параметров маршрута.
Closure createClassBinding(string $binding)
Создать привязку класса, используя контейнер IoC.
void pattern(string $key, string $pattern)
Установить глобальный шаблон для всех маршрутов.
void patterns(array $patterns)
Установить группу глобальных шаблонов для всех маршрутов.
protected mixed callFilter(string $filter, Request $request, Response $response = null)
Вызвать заданный фильтр с запросом и ответом.
protected mixed|null callPatternFilters(Route $route, Request $request)
Вызвать фильтры, основанные на шаблонах, для запроса.
array findPatternFilters(Request $request)
Найти фильтры, соответствующие шаблону запроса.
protected array patternsByMethod(string $method, array $filters)
Отфильтровать фильтры шаблонов, которые не применяются к глаголу запроса.
protected bool filterSupportsMethod(array $filter, array $method)
Определить, применяется ли данный фильтр шаблона к заданному методу.
protected mixed callAttachedBefores(Route $route, Request $request)
Вызвать фильтры перед (не шаблонные) фильтры маршрута.
mixed callRouteAfter(Route $route, Request $request, Response $response)
Вызвать фильтры после маршрута.
mixed callRouteFilter(string $filter, array $parameters, Route $route, Request $request, Response|null $response = null)
Вызвать заданный фильтр маршрута.
protected array cleanFilterParameters(array $parameters)
Очистить параметры, передаваемые в обратный вызов фильтра.
protected Response prepareResponse(Request $request, mixed $response)
Создать экземпляр ответа из заданного значения.
void withoutFilters(callable $callback)
Выполнить обратный вызов с отключенными фильтрами на маршрутизаторе.
void enableFilters()
Включить фильтрацию маршрутов на маршрутизаторе.
void disableFilters()
Отключить фильтрацию маршрутов на маршрутизаторе.
mixed input(string $key, string $default = null)
Получить параметр маршрута для текущего маршрута.
Route getCurrentRoute()
Получить текущий экземпляр обработанного маршрута.
Route current()
Получить текущий экземпляр обработанного маршрута.
bool has(string $name)
Проверить, существует ли маршрут с заданным именем.
string|null currentRouteName()
Получить имя текущего маршрута.
bool is()
Псевдоним для метода "currentRouteNamed".
bool currentRouteNamed(string $name)
Определить, соответствует ли текущий маршрут заданному имени.
string|null currentRouteAction()
Получить текущее действие маршрута.
bool uses()
Псевдоним для метода "currentRouteUses".
bool currentRouteUses(string $action)
Определить, соответствует ли текущее действие маршрута заданному действию.
Request getCurrentRequest()
Получить запрос, который в данный момент обрабатывается.
RouteCollection getRoutes()
Получить базовый набор маршрутов.
ControllerDispatcher getControllerDispatcher()
Получить экземпляр диспетчера контроллеров.
void setControllerDispatcher(ControllerDispatcher $dispatcher)
Установить экземпляр диспетчера контроллеров.
ControllerInspector getInspector()
Получить экземпляр инспектора контроллеров.
array getPatterns()
Получить глобальные шаблоны "where".
Response handle(Request $request, int $type = HttpKernelInterface::MASTER_REQUEST, bool $catch = true)
Получить ответ для заданного запроса.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/4.2/Illuminate/Routing/Router.html