PHPackages                             vf92/bitrix-base - 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. [Testing &amp; Quality](/categories/testing)
4. /
5. vf92/bitrix-base

ActiveLibrary[Testing &amp; Quality](/categories/testing)

vf92/bitrix-base
================

Расширение возможностей платформы 1С-Битрикс. Минимальная версия 16.5.0, рекомендуется использовать с версии 17.5.2

3.0.1(6y ago)27911proprietaryPHPPHP &gt;=7.1

Since Sep 6Pushed 6y ago3 watchersCompare

[ Source](https://github.com/Vampiref92/BitrixBase)[ Packagist](https://packagist.org/packages/vf92/bitrix-base)[ Docs](https://github.com/Vampiref92/BitrixBase)[ RSS](/packages/vf92-bitrix-base/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependencies (12)Versions (86)Used By (1)

минимальная версия 18.0.4, без нее не будет работать ряд функций
================================================================

[](#минимальная-версия-1804-без-нее-не-будет-работать-ряд-функций)

BitrixBase
==========

[](#bitrixbase)

Расширенный набор функций для Битиркса

Log - Логгер
------------

[](#log---логгер)

### LoggerFactory

[](#loggerfactory)

получение логгера

```
$logger = \Vf92\Log\LoggerFactory::create('название лога');
```

### LazyLoggerAwareTrait

[](#lazyloggerawaretrait)

можно в классе подключить трейт

```
use \Vf92\Log\LazyLoggerAwareTrait
```

тогда будут доступны методы получения логгера

```
$this->withLogName('name');
$this->log() // это логгер
```

### Использование логгера

[](#использование-логгера)

```
$logger = LoggerFactory::create('fullHrefDecorator');
$logger->critical('Системная ошибка при получении пукбличного пути ' . $e->getTraceAsString());
```

BitrixUtils
-----------

[](#bitrixutils)

### Component - Компонент

[](#component---компонент)

#### BaseBitrixComponent

[](#basebitrixcomponent)

Базовый класс для упрощения создания компонентов и их унификации Особенности:

- Включен логер
- Можно задать ключи кеширования
- Можно переопределить вызываемый шаблон через метод
- Изначально включен кеш
- Все необходимые действия делать в этом классе prepareResult, если логика сложнее, то переопределяем execute

### Constructor - Конструктор

[](#constructor---конструктор)

Делает возможным работы с dataManager если сущность не описана

#### Базовый конструктор(EntityConstructor)

[](#базовый-конструкторentityconstructor)

```
$dataManager = \Vf92\Constructor\EntityConstructor::compileEntityDataClass('Form', 'b_form');
//дальше работаем как обычно с объектом
$id = (int)$dataManager::query()->setSelect(['ID'])->setFilter(['SID' => $code])->exec()->fetch()['ID'];
```

#### Упрощенный конструктор для свойств инфоблок в отдельной таблице(IblockPropEntityConstructor и IblockPropMultipleEntityConstructor)

[](#упрощенный-конструктор-для-свойств-инфоблок-в-отдельной-таблицеiblockpropentityconstructor-и-iblockpropmultipleentityconstructor)

```
$dataManager = \Vf92\Constructor\IblockPropEntityConstructor::getDataClass($iblockId);
$dataManager = \Vf92\Constructor\IblockPropMultipleEntityConstructor::getDataClass($iblockId);
//дальше работаем как обычно с объектом
$id = (int)$dataManager::query()->setSelect(['ID'])->setFilter(['CODE' => $code])->exec()->fetch()['ID'];
```

### User - Пользователь и группа пользователя

[](#user---пользователь-и-группа-пользователя)

#### UserGroupHelper

[](#usergrouphelper)

хелпер для получения данных из групп пользователя

- getGroupIdByCode - Возвращает id группы пользователей по её коду

#### UserHelper

[](#userhelper)

Хелпер для получения данных пользователя

- isInGroup - Проверяет вхождение пользователя в группу
- getLoginByHash - Возвращает логин пользователя по хешу его запомненной авторизации

### Iblock - Инфоблоки

[](#iblock---инфоблоки)

#### IblockHelper

[](#iblockhelper)

Хелпер для инфоблока

- getIblockId - Возвращает id инфоблока по его типу и символьному коду
- getIblockXmlId - Возвращает xml id инфоблока по его типу и символьному коду
- getPropertyId - Возвращает id свойства инфоблока по символьному коду
- isIblockTypeExists - Проверка существования типа инфоблоков

### HLBlock - Хайлоад блоки

[](#hlblock---хайлоад-блоки)

#### HLBlockHelper

[](#hlblockhelper)

получение информации о highload блкое - например id по названию таблицы

- getIdByName - Получение ID Хайлоад блока по имени
- getIdByTableName - Получение ID Хайлоад блока по таблице

#### HLBlockFactory

[](#hlblockfactory)

создание объекта dataManager

- createTableObject - Возвращает скомпилированную сущность HL-блока по имени его сущности.
- createTableObjectByTable - Возвращает скомпилированную сущность HL-блока по имени его таблицы в базе данных.

### Form - Форма

[](#form---форма)

#### FormHelper

[](#formhelper)

- getIdByCode - Получение ID формы по коду
- checkRequiredFields - Проверка обязательных полей формы
- validEmail - Валидация email
- addResult - Добавление результат(заполенние формы)
- saveFile - Сохранение файла
- addForm - Добавление формы
- addStatuses - Добавление статусов
- addQuestions - Добавление вопросов
- addAnswers - Добавление ответов
- addMailTemplate - Генерация почтового шаблона
- deleteForm - Удаление формы
- getRealNamesFields - Получить реальные названия полей формы
- getQuestions - Получение вопросов

### Decorators - Декораторы

[](#decorators---декораторы)

#### FullHrefDecorator

[](#fullhrefdecorator)

позволяет получить абсолютный путь сайта по относительному

```
$fullPath = (new \Vf92\Decorators\FullHrefDecorator($path))->getFullPublicPath();
```

### Config - работа с конфигурационными файлами

[](#config---работа-с-конфигурационными-файлами)

#### Dbconn - работа с dbconn

[](#dbconn---работа-с-dbconn)

- get - получение данных в виде массива
- save - сохранение данных из массива в файл

### Helpers - Хелперы

[](#helpers---хелперы)

#### DateHelper - наследуеся от misc datehelper

[](#datehelper---наследуеся-от-misc-datehelper)

- convertToDateTime - Преобразование битриксового объекта даты в Php
- formatDate - Враппер для FormatDate. Доп. возможности
    - ll - отображение для недели в винительном падеже (в пятницу, в субботу)
    - XX - 'Сегодня', 'Завтра'
- getFormattedActiveDate - Формирвоание периода дат
    - "с 01 по 31 сентября"
    - "с 01 июня по 31 сентября"
    - "с 01 июня 2017 по 31 сентября 2018"
    - "с 01 июня по 31 сентября 2018"
    - "с 01 июня"
    - "с 01 июня 2018"
    - "до 01 июня 2018"
    - "до 01 июня"

#### MenuHelper

[](#menuhelper)

- getMultiLvlArray - получает многомерный массив меню из одномерного
- countMultiArray - считает количество элементов текущих + вложенных

#### TaggedCacheHelper

[](#taggedcachehelper)

Класс для упрощенной работы с тегирвоанным кешем есть 2 режима работы как static так и dinamic(через объект)

- addManagedCacheTags - Добавление тегов массивом
- clearManagedCache - Очистка кеша по тегам
- addManagedCacheTag - Добавление одного тега
- getTagCacheInstance - Получение объекта тегированного кеша
- start - Начинаем тегирвоанный кеш
- end - Завершаем тегирвоанный кеш
- addTags - Добавляем теги
- addTag - Добавляем тег
- abortTagCache - прерываем тегированный кеш(abort)

### Mysql - Дополнительные возможности для запросов к Mysql через объект dataQuery

[](#mysql---дополнительные-возможности-для-запросов-к-mysql-через-объект-dataquery)

#### MysqlBatchOperations

[](#mysqlbatchoperations)

Массовые операции над таблицами с поддержкой условий

- batchUpdate - Делаем массовое обновление данных по условию
- batchDelete - Делаем массовое удаление по условию
- batchInsert - Делаем массовую вставку
- getPart - Получение части массива по лимтам
- getLimit - Получаем ограничение в limit
- setLimit - Устанавливаем ограничение в limit
- getTable - Получаем имя таблицы
- setTable - Устанавливаем имя таблицы
- getQuery - Получение установленного объекта Query
- setQuery - Установка объекта Query

#### ExtendsBitrixQuery

[](#extendsbitrixquery)

Получение сформированных запросов(селекта,фильтра)

- getBuildWhere - Получаем сформированное условие по запросу(where)
- getBuildOrder - Получаем сформированную сортировку(order)

### Migration

[](#migration)

#### SprintMigrationBase - Базовый класс помошника миграции

[](#sprintmigrationbase---базовый-класс-помошника-миграции)

- getHelper - получение хелпера
- log - получение логгера Содержит дополнительные хелперы

### BitrixUtils - Другие возможности

[](#bitrixutils---другие-возможности)

Нераспределенные функции:

- isAjax - битровая проверка на аякс
- bool2BitrixBool - преобразование из буля в битровый буль
- bitrixBool2bool - преобразование из битрового буля в буль
- extractErrorMessage - получение ошибок из объекта результата

MiscUtils
---------

[](#miscutils)

### EvType - определение типа проекта(dev,prod)

[](#evtype---определение-типа-проектаdevprod)

- getServerType - получение типа сервера
- isProd - это prod(bool)
- isDev - это dev(bool)
- isStage - это stage(bool)

### MiscUtils - Другие возможности

[](#miscutils---другие-возможности)

- getClassName - получение имени класса без namespace
- trimArrayStrings - рекурсивный trim значений массива
- getFormattedSize - получение форматированного размера(Kb,Mb...)
- eraseArray - рекурсивное удаление пустых элементов
- getUniqueArray - сравнение массива и получений расхождения, рекурсивно

### Debug

[](#debug)

\####Logger - старый логгер

- getInstance - получение объекта
- activate - включене и отклоючение
- setType - установка названия файла лога
- write - Запись данных - строки или массива
- writeEndLine - запись длинного разделителя
- writeSeparator - запись разделителя

\####CheckResources - снимок ресурсов

- getInstance - получение объекта
- setStep - установка следующего шага
- init - запуск первого шага
- show - вывод на экран
- get - получение значений массивом
- setUse - включене и отклоючение

### Helpers

[](#helpers)

#### WordHelper

[](#wordhelper)

Класс для работы со словами - например окончания

- declension - Возвращает нужную форму существительного, стоящего после числительного
- showWeight - Возвращает отформатированный вес
- showLengthByMillimeters - Возвращает отформатированную длину в см - задается в мм
- numberFormat - Форматированный вывод чиел, с возможностью удаления незначащих нулей и с округлением до нужной точности
- clear - Очистка текста от примесей(тегов, лишних спец. символов)
- formatSize - получение форматированного размера(Kb,Mb...)

#### ClassFinderHelper

[](#classfinderhelper)

Получение списка классов

- getClasses - Поиск классов с совпадением имени в определенной папке

#### DateHelper

[](#datehelper)

Хелпер для работы с датами

- replaceRuMonth - Подстановка русских месяцев по шаблону
- replaceRuDayOfWeek - Подстановка дней недели по шаблону

#### PhoneHelper

[](#phonehelper)

Обработка и нормализация телефонов

- isPhone - Проверяет телефон по правилам нормализации. Допускаются только десятизначные номера с ведущими 7 или 8
- normalizePhone - Нормализует телефонный номер.
    - Возвращает телефонный номер в формате xxxxxxxxxx (10 цифр без разделителя)
    - Кидает исключение, если $phone - не номер
- formatPhone - Форматирует телефон по шаблону

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor1

Top contributor holds 50% 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 ~4 days

Recently: every ~19 days

Total

84

Last Release

2434d ago

Major Versions

1.1.2 → 2.0.02018-09-19

1.3.4 → 2.0.12018-09-19

2.15.0 → 3.02019-09-15

PHP version history (2 changes)1.0.0PHP &gt;=5.6

3.0PHP &gt;=7.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/c3a4aacf4af606fe88c38c6c921cfe362eb03b5cecc771c9f52a502e6dd152c4?d=identicon)[Vampiref92](/maintainers/Vampiref92)

---

Top Contributors

[![pv-dy](https://avatars.githubusercontent.com/u/49711939?v=4)](https://github.com/pv-dy "pv-dy (5 commits)")[![Vampiref92](https://avatars.githubusercontent.com/u/3988646?v=4)](https://github.com/Vampiref92 "Vampiref92 (5 commits)")

---

Tags

logtestbitrixcacheutilssergeyfrolov

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/vf92-bitrix-base/health.svg)

```
[![Health](https://phpackages.com/badges/vf92-bitrix-base/health.svg)](https://phpackages.com/packages/vf92-bitrix-base)
```

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[laravel/framework

The Laravel Framework.

34.6k509.9M17.0k](/packages/laravel-framework)[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[contao/core-bundle

Contao Open Source CMS

1231.6M2.4k](/packages/contao-core-bundle)[ec-cube/ec-cube

EC-CUBE EC open platform.

78527.0k1](/packages/ec-cube-ec-cube)

PHPackages © 2026

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