PHPackages                             proklung/bitrix.module.boilerplate - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. proklung/bitrix.module.boilerplate

ActiveBitrix[Framework](/categories/framework)

proklung/bitrix.module.boilerplate
==================================

PHP boilerplate for Bitrix modules

1.0.4(2y ago)319928MITPHPPHP &gt;=7.3

Since Apr 18Pushed 2y ago1 watchersCompare

[ Source](https://github.com/ProklUng/bitrix.module.boilerplate)[ Packagist](https://packagist.org/packages/proklung/bitrix.module.boilerplate)[ RSS](/packages/proklung-bitrixmoduleboilerplate/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (5)Dependencies (1)Versions (6)Used By (8)

Вспомогательные классы для работы с модулями Битрикс
====================================================

[](#вспомогательные-классы-для-работы-с-модулями-битрикс)

Описание
--------

[](#описание)

Цель: минимизация дублирования кода при написании модулей.

Возможности
-----------

[](#возможности)

#### Адаптер для настроек модуля

[](#адаптер-для-настроек-модуля)

Простая обертка над *Bitrix\\Main\\Config\\Option*

#### Готовая страница настроек модуля

[](#готовая-страница-настроек-модуля)

Стандартная страница настроек модуля.

#### ModuleUtilsTrait

[](#moduleutilstrait)

Общий для стандартного модуля функционал.

Файл `/install/index.php`:

```
use Bitrix\Main\Localization\Loc;
use ProklUng\Module\Boilerplate\Module;
use ProklUng\Module\Boilerplate\ModuleUtilsTrait;

Loc::loadMessages(__FILE__);

class example_module extends CModule
{
    use ModuleUtilsTrait;

    public function __construct()
    {
        $arModuleVersion = [];

        include __DIR__.'/version.php';

        if (is_array($arModuleVersion)
            &&
            array_key_exists('VERSION', $arModuleVersion)) {
            $this->MODULE_VERSION = $arModuleVersion['VERSION'];
            $this->MODULE_VERSION_DATE = $arModuleVersion['VERSION_DATE'];
        }

        $this->MODULE_FULL_NAME = 'module';
        $this->MODULE_VENDOR = 'example';
        $prefixLangCode = 'MODULE';

        $this->MODULE_NAME = Loc::getMessage($prefixLangCode.'_MODULE_NAME');
        $this->MODULE_ID = $this->MODULE_VENDOR.'.'.$this->MODULE_FULL_NAME;

        $this->MODULE_DESCRIPTION = Loc::getMessage($prefixLangCode.'_MODULE_DESCRIPTION');
        $this->MODULE_GROUP_RIGHTS = 'N';
        $this->PARTNER_NAME = Loc::getMessage($prefixLangCode.'_MODULE_PARTNER_NAME');
        $this->PARTNER_URI = Loc::getMessage($prefixLangCode.'MODULE_PARTNER_URI');

        $this->moduleManager = new Module(
            [
                'MODULE_ID' => $this->MODULE_ID,
                'VENDOR_ID' => $this->MODULE_VENDOR,
                'MODULE_VERSION' => $this->MODULE_VERSION,
                'MODULE_VERSION_DATE' => $this->MODULE_VERSION_DATE,
                'ADMIN_FORM_ID' => $this->MODULE_VENDOR.'_settings_form',
            ]
        );

        $this->moduleManager->addModuleInstance($this); // Регистрация экземпляра модуля.
        $this->options(); // Подготовка данных для генерации админки модуля
    }
  }
```

Далее при необходимости можно переопределить стандартные методы модуля (типа `InstallEvents()`).

#### Module

[](#module)

Менеджер модулей, зарегистрированных в системе посредством этого boilerplate.

- ***showOptionsForm*** - вывод формы настроек модуля.
- ***getOptionsManager*** - экземпляр класса `Options\ModuleManager`. Настройки модуля.
- ***addModuleInstance($moduleObject)*** - Статика. Добавить экземпляр модуля. Объект, отнаследованный от `CModule`.
- ***getModuleInstance(string $moduleId)*** - Статика. Получить экземпляр класса модуля по ID.

#### Опции модуля

[](#опции-модуля)

Добавляются методом `addOption` (и скопом - `addOptions`) класса `Options\ModuleManager`.

#### Меню опций модуля

[](#меню-опций-модуля)

В основном классе модуля должен быть отнаследован метод `getSchemaTabsAdmin`, описывающий массивом схему табов.

```
    protected function getSchemaTabsAdmin() : array
    {
        // Все возможные параметры - https://dev.1c-bitrix.ru/api_help/main/general/admin.section/rubric_edit.php
        return ['tab1' => [
            'TAB' => 'Таб 1',
            'TITLE' => 'Таб 1',
        ],
            'tab2' => [
                'TAB' => 'Таб 2',
                'TITLE' => 'Таб 2',
            ]
        ];
    }
```

Также должен отнаследоваться метод `getSchemaOptionsAdmin`, возвращающий схему связки опций модуля с табами:

```
    protected function getSchemaOptionsAdmin() : array
    {
        return [
            'Test_option_1' =>
                [
                    'label' => 'Тестовая опция 1',
                    'tab' => 'tab1', // На каком табе будет показываться input
                    'type' => 'text', // Тип input-а
                ],
            'Test_option_2' =>
                [
                    'label' => 'Тестовая опция 2',
                    'tab' => 'tab2', // На каком табе будет показываться input
                    'type' => 'text', // Тип input-а
                ],
        ];
    }
```

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~189 days

Total

5

Last Release

1091d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/9210c86ee6734e537eaf22c0f2fe7a965451e340e39e1aae2b74013f24c2660d?d=identicon)[gedovan](/maintainers/gedovan)

---

Top Contributors

[![ProklUng](https://avatars.githubusercontent.com/u/19857467?v=4)](https://github.com/ProklUng "ProklUng (11 commits)")

---

Tags

bitrixbitrix-modulephpphp-libraryphp7

### Embed Badge

![Health badge](/badges/proklung-bitrixmoduleboilerplate/health.svg)

```
[![Health](https://phpackages.com/badges/proklung-bitrixmoduleboilerplate/health.svg)](https://phpackages.com/packages/proklung-bitrixmoduleboilerplate)
```

###  Alternatives

[laravel/telescope

An elegant debug assistant for the Laravel framework.

5.2k67.8M190](/packages/laravel-telescope)[spiral/roadrunner

RoadRunner: High-performance PHP application server and process manager written in Go and powered with plugins

8.4k12.2M84](/packages/spiral-roadrunner)[nolimits4web/swiper

Most modern mobile touch slider and framework with hardware accelerated transitions

41.8k177.2k1](/packages/nolimits4web-swiper)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k36.7M256](/packages/laravel-dusk)[laravel/prompts

Add beautiful and user-friendly forms to your command-line applications.

708181.8M591](/packages/laravel-prompts)[cakephp/chronos

A simple API extension for DateTime.

1.4k47.7M121](/packages/cakephp-chronos)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
