定制 proklung/bitrix-symfony-router-module 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

proklung/bitrix-symfony-router-module

Composer 安装命令:

composer require proklung/bitrix-symfony-router-module

包简介

Модуль для Битрикса, обеспечивающий работу с роутером Symfony и нативными битриксовыми маршрутами

README 文档

README

  • Роуты Symfony, сконфигурированные через Yaml файл (путь указывается в админке Битрикса)
  • Роуты Битрикса D7 (начиная с версии 21.400.0 главного модуля), сконфигурированные через Yaml файл (путь указывается в админке Битрикса)

Зачем?

Основа модуля - наработки по теме, но упакованные в бандлы и (или) отдельные классы. Не на всех проектах удается развернуть - по техническим или административным причинам, - всю привычную машинерию. Посему этот функционал выносится в отдельный модуль.

Установка

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

Установить модуль proklung.symfony.router в административном интерфейсе сайта bitrix/admin/partner_modules.php

Добавить в init.php:

use Bitrix\Main\Loader;

Loader::includeModule('proklung.symfony.router');

Конфигурирование

После активации модуля появится подменю Настройка роутера Symfony в разделе Контент.

  • Вкладка Роуты Symfony

    1. Активность - если чекбокс не отмечен, то функционал не работает.
    2. Путь к Yaml файлу с конфигурацией роутов - путь к Yaml файлу с обычной конфигурацией роутов Symfony. Если пусто, то появится сообщение. Функционал работать не будет.
    3. Путь к папке с кэшом Yaml файлов - если не заполнено, то кэширования не будет.
  • Вкладка Нативные роуты Битрикс

    Если версия главного модуля ниже, чем 21.400.0, то вкладки Нативные роуты Битрикс не будет.

    1. Активность - если чекбокс не отмечен, то функционал не работает.

    2. Файл php с описанием роутов (в папке /local/routes) - файл, который будет конфигом роутов.

      После установки модуля (и если задействован функционал), то в /bitrix/settings.php внести (или отредактировать) секцию routing (все согласно документации):

        return [
        // ....
        'routing' => ['value' => [
            'config' => [
                'test.php'
            ]
       ]
        ]
        ];

      Если указанный файл не существует в папке /local/routes, то он буде создан. Изменять его не нужно, так как в этом случае при следующем обновлении опций в админке изменения перезатруться.

    3. Путь к Yaml файлу с конфигурацией нативных роутов Битрикса - Путь к Yaml файлу с обычной конфигурацией роутов Symfony (с небольшими нюансами).

      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 # Ключевой признак
      

      Если пусто (или указанный файл не существует), то появится сообщение. Функционал работать не будет.

    4. Путь к папке с кэшом Yaml файлов нативных роутов Битрикс - если не заполнено, то кэширования не будет.

Прочее

  1. Экземпляр Symfony\Component\Routing\Router (роуты Symfony) можно получить снаружи так:
$router = \Proklung\Symfony\Router\SymfonyRoutes::getInstance();

proklung/bitrix-symfony-router-module 适用场景与选型建议

proklung/bitrix-symfony-router-module 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 6 次下载、GitHub Stars 达 1, 最近一次更新时间为 2021 年 07 月 25 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「bitrix」 「bitrix-module」 「bitrix-cms」 「bitrix-d7」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 proklung/bitrix-symfony-router-module 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 proklung/bitrix-symfony-router-module 我们能提供哪些服务?
定制开发 / 二次开发

基于 proklung/bitrix-symfony-router-module 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 6
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 8
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-07-25