PHP code example of proklung / bitrixsymfonyrouterbundle
1. Go to this page and download the library: Download proklung/bitrixsymfonyrouterbundle library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
proklung / bitrixsymfonyrouterbundle example snippets
use Prokl\ServiceProvider\ServiceProvider;
use Bitrix\Main\Routing\Controllers\PublicPageController;
use Prokl\BitrixSymfonyRouterBundle\Services\Agnostic\BaseRoutesConfigurator;
use Prokl\BitrixSymfonyRouterBundle\Services\Utils\BitrixRouteConvertor;
use Bitrix\Main\Routing\RoutingConfigurator;
// Не обязательно. Смотри ниже.
$container = ServiceProvider::instance();
$agnosticRouter = new BaseRoutesConfigurator(
$_SERVER['DOCUMENT_ROOT'] . '/local/configs/bitrix_routes.yaml', // Конфиг роутов
$_SERVER['DOCUMENT_ROOT'] . '/bitrix/cache/routes', // Кэш; если null - без кэширования.
$_ENV['DEBUG']
);
$routeCollection = $agnosticRouter->getRoutes();
$routeConvertor = new BitrixRouteConvertor($routeCollection);
// Не обязательно. Без контейнера контроллеры будут инстанцироваться через new,
// а не через контейнер. Но тогда уже без разрешения зависимостей.
$routeConvertor->setContainer($container);
return function (RoutingConfigurator $routes) use ($container, $routeConvertor, $routeCollection) {
$routeConvertor->convertRoutes($routes);
};
use Prokl\ServiceProvider\ServiceProvider;
use Bitrix\Main\Routing\Controllers\PublicPageController;
use Prokl\BitrixSymfonyRouterBundle\Services\Utils\BitrixRouteConvertor;
use Bitrix\Main\Routing\RoutingConfigurator;
// Не обязательно. Смотри ниже.
$container = ServiceProvider::instance();
$routeCollection = $container->get('bitrix_native_routes.routes.collection');
$routeConvertor = new BitrixRouteConvertor($routeCollection);
// Не обязательно. Без контейнера контроллеры будут инстанцироваться через new,
// а не через контейнер. Но тогда уже без разрешения зависимостей.
$routeConvertor->setContainer($container);
return function (RoutingConfigurator $routes) use ($container, $routeConvertor, $routeCollection) {
$routeConvertor->convertRoutes($routes);
$routes->get('/', new PublicPageController('/index.php'));
};
use Prokl\BitrixSymfonyRouterBundle\Services\Agnostic\BaseRoutesConfigurator;
use Prokl\BitrixSymfonyRouterBundle\Services\Agnostic\Router;
use Prokl\BitrixSymfonyRouterBundle\Services\Agnostic\BitrixInitializerRouter;
$agnosticRouter = new BaseRoutesConfigurator(
$_SERVER['DOCUMENT_ROOT'] . '/local/configs/standalone_routes.yaml',
$_SERVER['DOCUMENT_ROOT'] . '/bitrix/cache/routes_agnostic', // Кэш; если null - без кэширования.
$_ENV['DEBUG'] // Режим отладки или нет
);
$agnosticRouterInstance = new Router(
$agnosticRouter->getRouter(),
new BitrixInitializerRouter()
);