proklung / bitrix-symfony-router-module
为Bitrix提供的模块,支持使用Symfony路由器和原生Bitrix路由
1.1.5
2021-08-18 14:51 UTC
Requires
- php: >=7.1 || ^8.0
- composer/installers: ~1
- proklung/bitrix.module.boilerplate: ^1.0
- symfony/config: ^4.0 || ^5.0
- symfony/event-dispatcher: ^4.4 || ^5.0
- symfony/http-foundation: ^4.4 || ^5.0
- symfony/http-kernel: ^4.4 || ^5.0
- symfony/routing: ^4.4 || ^5.0
- symfony/serializer: ^4.4 || ^5.0
Requires (Dev)
- icanhazstring/composer-unused: ^0.7.5
README
- 通过Yaml文件配置的Symfony路由(路径在Bitrix后台管理中指定)
- 从Bitrix D7主模块版本
21.400.0
开始,通过Yaml文件配置的Bitrix D7路由(路径在Bitrix后台管理中指定)
为什么?
模块的基础是相关主题的研究成果,但已打包成包和/或单独的类。由于技术或行政原因,并非所有项目都能部署整个熟悉的机器。因此,此功能被单独抽取出来。
安装
主要项目的composer.json
"extra": { "installer-paths": { "./bitrix/modules/{$name}/": ["type:bitrix-d7-module", "type:bitrix-module"], "./bitrix/components/{$name}/": ["type:bitrix-d7-component", "type:bitrix-component"], "./bitrix/templates/{$name}/": ["type:bitrix-d7-template", "type:bitrix-theme"] } }
和
"repositories": [ { "type": "git", "url": "https://github.com/proklung/bitrix.symfony.router.module" } ]
$ composer require proklung/bitrix-symfony-router-module
在网站后台管理界面bitrix/admin/partner_modules.php
中安装模块proklung.symfony.router
在init.php
中添加
use Bitrix\Main\Loader; Loader::includeModule('proklung.symfony.router');
配置
模块激活后,将在内容
部分出现子菜单设置Symfony路由器
。
-
“Symfony路由”标签页
活动
- 如果复选框未选中,则该功能不工作。路由配置Yaml文件的路径
- 指定普通配置的Symfony路由Yaml文件的路径。如果为空,则会出现消息。该功能将不会工作。Yaml文件缓存文件夹的路径
- 如果为空,则不会进行缓存。
-
“原生Bitrix路由”标签页
如果主模块版本低于
21.400.0
,则不会出现“原生Bitrix路由”标签页。-
活动
- 如果复选框未选中,则该功能不工作。 -
描述路由的PHP文件(在/local/routes文件夹中)
- 将作为路由配置的文件。安装模块(如果使用功能)后,在
/bitrix/settings.php
中添加(或编辑)routing
部分(所有根据文档)return [ // .... 'routing' => ['value' => [ 'config' => [ 'test.php' ] ] ] ];
如果指定的文件不存在于
/local/routes
文件夹中,则会创建它。无需修改它,因为在下次后台管理选项更新时,更改将重置。 -
原生Bitrix路由配置Yaml文件的路径
- 指定具有普通配置的Symfony路由Yaml文件(有一些细微差别)。first_bitrix_route: path: /foo/{param}/ controller: 'Proklung\Symfony\Router\ExampleController::cacheAction' methods: GET|POST requirements: param: '\d+' defaults: param: 'Russia' # Старые статические страницы # / => /index.php public_page: path: / controller: '' defaults: _public: true # Ключевой признак
如果为空(或指定的文件不存在),则会出现消息。该功能将不会工作。
-
原生Bitrix路由Yaml文件缓存文件夹的路径
- 如果为空,则不会进行缓存。
-
其他
- 可以通过以下方式获取
Symfony\Component\Routing\Router
(Symfony路由)的实例
$router = \Proklung\Symfony\Router\SymfonyRoutes::getInstance();