proklung / bitrix-primitive-router
Primitive router for Bitrix
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Type:bitrix-component
Requires
- php: >=7.1 | ~8
- composer/installers: ~1
README
Зачем?
Иногда не получается по административно-техническим причинам развернуть нормальный роутер. Один из вариантов поведения в такой ситуации - эти компоненты.
Установка
composer.json:
"repositories": [ { "type": "git", "url": "https://github.com/proklung/bitrix-primitive-router" } ]
composer require proklung/bitrix-primitive-router
Использование
В /bitrix/components/base/
прилетят два компонента: base.router
и rest.router
$APPLICATION->IncludeComponent('bitrix-primitive-router:base.router', '', array( "CACHE_TYPE" => "A", "CACHE_TIME" => 3600, "SEF_FOLDER" => '/article/', "SEF_MODE" => "Y", "SEF_URL_TEMPLATES" => array( "detail" => "#ELEMENT_ID#/", "index" => "index.php", ), ));
$APPLICATION->IncludeComponent('bitrix-primitive-router:rest.router', '', [ 'SEF_FOLDER' => '/rest/', 'SEF_URL_PATHS' =>[ 'article/get-list/' => 'Local\Rest\Article::getlist()', 'article/get-detail/' => 'Local\Rest\Article::getDetail()', 'article/upsert/' => 'Local\Rest\Article::upsert()', ] ]);
base:rest.router
Методы не статические. Названия классов - полноразмерные. Конструктор должен быть без зависимостей (никакого намека на автовайринг не предусмотрено).
Шаблона не предусмотрено. В браузер отправляется json, создающийся из ответа метода-обработчика.
По соглашению метод-обработчик в возвращаемом массиве может вернуть ключ httpStatusCode
с HTTP кодом ответа.