137  /  382
Справочник

Роутинг

Просмотров: 48117
Дата последнего изменения: 07.11.2023
Роберт Басыров
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
1
2
3
4
5
Недоступно в лицензиях:
Ограничений нет

Доступно в модуле main начиная с версии 21.400.0. Для пользовательских модулей использование собственных роутов в папке модуля на данный момент не предусмотрено.

  Запуск

Для запуска новой системы роутинга нужно перенаправить обработку 404 ошибок на файл routing_index.php в файле .htaccess:

#RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
#RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]

RewriteCond %{REQUEST_FILENAME} !/bitrix/routing_index.php$
RewriteRule ^(.*)$ /bitrix/routing_index.php [L]

Примечание: С версии 23.500.0 роутер получается через метод \Bitrix\Main\Application::getRouter().

  Конфигурация

Файлы с конфигурацией маршрутов располагаются в папках /bitrix/routes/ и /local/routes/. Для подключения файла следует описать его в файле .settings.php Bitrix Framework имеет ряд специфичных настроек ядра, которые не имеют визуального интерфейса редактирования. Этот подход вызван тем, что изменение настроек или ошибка в них легко могут привести к неработоспособности системы (настройки подключения к базе данных, настройки кеширования и т.д.).

Подробнее ...
в секции routing:

'routing' => ['value' => [
        'config' => ['web.php', 'api.php']
]], 

// подключатся файлы:
// /bitrix/routes/web.php, /local/routes/web.php,  
// /bitrix/routes/api.php, /local/routes/api.php

Формат файла предполагает возврат замыкания, в которое передается объект конфигурации маршрутов:

<?php

use Bitrix\Main\Routing\RoutingConfigurator;

return function (RoutingConfigurator $routes) {
        // маршруты
};

Поиск совпадений производится в том же порядке, в каком маршруты описаны в конфигурации.




18
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии