Download the PHP package proklung/bitrixsymfonyrouterbundle without Composer
On this page you can find all versions of the php package proklung/bitrixsymfonyrouterbundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download proklung/bitrixsymfonyrouterbundle
More information about proklung/bitrixsymfonyrouterbundle
Files in proklung/bitrixsymfonyrouterbundle
Package bitrixsymfonyrouterbundle
Short Description Symfony Router for custom implementation Bitrix-Symfony
License MIT
Homepage https://github.com/ProklUng/BitrixSymfonyRouterBundle
Informations about the package bitrixsymfonyrouterbundle
Бандл для подключения Symfony Router к кастомным вариантам Bitrix-Symfony
Зачем?
INTERNAL. Нужен для максимального разнесения функционала по пакетам. Плюс борьба с копипастой инструментов на проектах.
Установка
1) composer require proklung/bitrixsymfonyrouterbundle
2) Подключение бандла в standalone_bundles.php
Параметры
Файл symfony_router.yaml
в конфигурации бандлов:
enabled
- Использовать бандл. По умолчаниюtrue
.controller_annotations_path
- массив с путями к контроллерам, использующим аннотации.router_cache_path
- путь к кэшу аннотаций (вида%kernel.cache.dir%/routes
). По умолчаниюnull
. Если задан, то роуты будут кэшироваться.router_config_file
- путь к файлу с конфигурацией роутов. По умолчаниюlocal/configs/routes.yaml
. Файл может быть в любом поддерживаемом Symfony формате - Yaml, PHP, XML и т.д.router_check_exists_controller
- проверять на существование классы-контроллеры. По умолчаниюfalse
.
Конфигурирование нативных роутов Битрикса через Yaml файл
С версии 21.400.0
(от 16.07.2021) главного модуля в Битриксе появился сносный роутер.
Зачем?
Чтобы использовать привычный способ конфигурирования роутов через Yaml.
Использование
Файл описания маршрутов (например, /local/routes/web.php
):
В случае, если контейнер подключается, то возможна краткая форма:
Пример файла с конфигурацией роутов (обычный yaml файл с роутами для Symfony):
Если установлен Битрикс с версией модуля младше 21.400.0
, то соответствующие сервисы будут
удалены из бандла на стадии компиляции.
Использование роутера без контейнера и вне фреймворка
init.php
:
Все. Подтянутся роуты из /local/configs/standalone_routes.yaml
. Автоматически подцепятся события.
Допускается наличие нескольких таких "агностических" роутеров в один момент.
Прочее
1) Экземпляр Symfony\Component\Routing\Router
(роуты Symfony) можно получить снаружи так:
2) Как загрузить роуты бандлы:
В файле Extension
бандла:
Или воспользоваться трэйтом Prokl\BitrixSymfonyRouterBundle\Services\Utils\LoaderBundleRoutesTrait
,
куда вынесен этот метод.
All versions of bitrixsymfonyrouterbundle with dependencies
symfony/dependency-injection Version ^4.4 || ^5.0
symfony/http-kernel Version ^4.4 || ^5.0
symfony/config Version ^4.4 || ^5.0
symfony/framework-bundle Version ^4.4 || ^5.0
symfony/filesystem Version ^4.4 || ^5.0
symfony/routing Version ^4.4 || ^5.0
symfony/http-foundation Version ^4.4 || ^5.0
symfony/event-dispatcher Version ^4.4 || ^5.0
symfony/property-access Version ^4.4 || ^5.0
symfony/serializer Version ^4.4 || ^5.0