vf92 / bitrix-base
Расширение возможностей платформы 1С-Битрикс. Минимальная версия 16.5.0, рекомендуется использовать с версии 17.5.2
Requires
- php: >=7.1
- ext-json: *
- doctrine/collections: ^1.4
- monolog/monolog: ^1.24
- psr/log: ^1.1.0
- symfony/config: >=3.1
- symfony/console: >=3.1
- symfony/http-foundation: >=3.1
- symfony/routing: >=3.4
- symfony/yaml: >=3.1
Requires (Dev)
- codeception/codeception: ^3.0.2
- dotsunited/php-cs-fixer-config: ^2.0
- friendsofphp/php-cs-fixer: ^2.15.1
- phpunit/phpunit: ^7.5||^8.3
- dev-master
- 3.0.1
- 3.0
- 2.15.0
- 2.14.2
- 2.14.1
- 2.14.0
- 2.13.3
- 2.13.2
- 2.13.1
- 2.13.0
- 2.12.0
- 2.11.3
- 2.11.2
- 2.11.1
- 2.11.0
- 2.10.2
- 2.10.1
- 2.10.0
- 2.9.3
- 2.9.2
- 2.9.1
- 2.9
- 2.8.1
- 2.8.0
- 2.7.0
- 2.6.10
- 2.6.9
- 2.6.8
- 2.6.7
- 2.6.6
- 2.6.5
- 2.6.4
- 2.6.3
- 2.6.2
- 2.6.1
- 2.6.0
- 2.5.8
- 2.5.7
- 2.5.6
- 2.5.5
- 2.5.4
- 2.5.3
- 2.5.2
- 2.5.1
- 2.5.0
- 2.4.2
- 2.4.1
- 2.4.0
- 2.3.5
- 2.3.4
- 2.3.3
- 2.3.2
- 2.3.1
- 2.2.1
- 2.2.0
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.10
- 2.0.9
- 2.0.8
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.3.4
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-feature/copy-element-helper
This package is auto-updated.
Last update: 2025-02-16 01:32:47 UTC
README
BitrixBase
Расширенный набор функций для Битиркса
Log - Логгер
LoggerFactory
получение логгера
$logger = \Vf92\Log\LoggerFactory::create('название лога');
LazyLoggerAwareTrait
можно в классе подключить трейт
use \Vf92\Log\LazyLoggerAwareTrait
тогда будут доступны методы получения логгера
$this->withLogName('name'); $this->log() // это логгер
Использование логгера
$logger = LoggerFactory::create('fullHrefDecorator'); $logger->critical('Системная ошибка при получении пукбличного пути ' . $e->getTraceAsString());
BitrixUtils
Component - Компонент
BaseBitrixComponent
Базовый класс для упрощения создания компонентов и их унификации Особенности:
- Включен логер
- Можно задать ключи кеширования
- Можно переопределить вызываемый шаблон через метод
- Изначально включен кеш
- Все необходимые действия делать в этом классе prepareResult, если логика сложнее, то переопределяем execute
Constructor - Конструктор
Делает возможным работы с dataManager если сущность не описана
Базовый конструктор(EntityConstructor)
$dataManager = \Vf92\Constructor\EntityConstructor::compileEntityDataClass('Form', 'b_form'); //дальше работаем как обычно с объектом $id = (int)$dataManager::query()->setSelect(['ID'])->setFilter(['SID' => $code])->exec()->fetch()['ID'];
Упрощенный конструктор для свойств инфоблок в отдельной таблице(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 - Пользователь и группа пользователя
UserGroupHelper
хелпер для получения данных из групп пользователя
- getGroupIdByCode - Возвращает id группы пользователей по её коду
UserHelper
Хелпер для получения данных пользователя
- isInGroup - Проверяет вхождение пользователя в группу
- getLoginByHash - Возвращает логин пользователя по хешу его запомненной авторизации
Iblock - Инфоблоки
IblockHelper
Хелпер для инфоблока
- getIblockId - Возвращает id инфоблока по его типу и символьному коду
- getIblockXmlId - Возвращает xml id инфоблока по его типу и символьному коду
- getPropertyId - Возвращает id свойства инфоблока по символьному коду
- isIblockTypeExists - Проверка существования типа инфоблоков
HLBlock - Хайлоад блоки
HLBlockHelper
получение информации о highload блкое - например id по названию таблицы
- getIdByName - Получение ID Хайлоад блока по имени
- getIdByTableName - Получение ID Хайлоад блока по таблице
HLBlockFactory
создание объекта dataManager
- createTableObject - Возвращает скомпилированную сущность HL-блока по имени его сущности.
- createTableObjectByTable - Возвращает скомпилированную сущность HL-блока по имени его таблицы в базе данных.
Form - Форма
FormHelper
- getIdByCode - Получение ID формы по коду
- checkRequiredFields - Проверка обязательных полей формы
- validEmail - Валидация email
- addResult - Добавление результат(заполенние формы)
- saveFile - Сохранение файла
- addForm - Добавление формы
- addStatuses - Добавление статусов
- addQuestions - Добавление вопросов
- addAnswers - Добавление ответов
- addMailTemplate - Генерация почтового шаблона
- deleteForm - Удаление формы
- getRealNamesFields - Получить реальные названия полей формы
- getQuestions - Получение вопросов
Decorators - Декораторы
FullHrefDecorator
позволяет получить абсолютный путь сайта по относительному
$fullPath = (new \Vf92\Decorators\FullHrefDecorator($path))->getFullPublicPath();
Config - работа с конфигурационными файлами
Dbconn - работа с dbconn
- get - получение данных в виде массива
- save - сохранение данных из массива в файл
Helpers - Хелперы
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
- getMultiLvlArray - получает многомерный массив меню из одномерного
- countMultiArray - считает количество элементов текущих + вложенных
TaggedCacheHelper
Класс для упрощенной работы с тегирвоанным кешем есть 2 режима работы как static так и dinamic(через объект)
- addManagedCacheTags - Добавление тегов массивом
- clearManagedCache - Очистка кеша по тегам
- addManagedCacheTag - Добавление одного тега
- getTagCacheInstance - Получение объекта тегированного кеша
- start - Начинаем тегирвоанный кеш
- end - Завершаем тегирвоанный кеш
- addTags - Добавляем теги
- addTag - Добавляем тег
- abortTagCache - прерываем тегированный кеш(abort)
Mysql - Дополнительные возможности для запросов к Mysql через объект dataQuery
MysqlBatchOperations
Массовые операции над таблицами с поддержкой условий
- batchUpdate - Делаем массовое обновление данных по условию
- batchDelete - Делаем массовое удаление по условию
- batchInsert - Делаем массовую вставку
- getPart - Получение части массива по лимтам
- getLimit - Получаем ограничение в limit
- setLimit - Устанавливаем ограничение в limit
- getTable - Получаем имя таблицы
- setTable - Устанавливаем имя таблицы
- getQuery - Получение установленного объекта Query
- setQuery - Установка объекта Query
ExtendsBitrixQuery
Получение сформированных запросов(селекта,фильтра)
- getBuildWhere - Получаем сформированное условие по запросу(where)
- getBuildOrder - Получаем сформированную сортировку(order)
Migration
SprintMigrationBase - Базовый класс помошника миграции
- getHelper - получение хелпера
- log - получение логгера Содержит дополнительные хелперы
BitrixUtils - Другие возможности
Нераспределенные функции:
- isAjax - битровая проверка на аякс
- bool2BitrixBool - преобразование из буля в битровый буль
- bitrixBool2bool - преобразование из битрового буля в буль
- extractErrorMessage - получение ошибок из объекта результата
MiscUtils
EvType - определение типа проекта(dev,prod)
- getServerType - получение типа сервера
- isProd - это prod(bool)
- isDev - это dev(bool)
- isStage - это stage(bool)
MiscUtils - Другие возможности
- getClassName - получение имени класса без namespace
- trimArrayStrings - рекурсивный trim значений массива
- getFormattedSize - получение форматированного размера(Kb,Mb...)
- eraseArray - рекурсивное удаление пустых элементов
- getUniqueArray - сравнение массива и получений расхождения, рекурсивно
Debug
####Logger - старый логгер
- getInstance - получение объекта
- activate - включене и отклоючение
- setType - установка названия файла лога
- write - Запись данных - строки или массива
- writeEndLine - запись длинного разделителя
- writeSeparator - запись разделителя
####CheckResources - снимок ресурсов
- getInstance - получение объекта
- setStep - установка следующего шага
- init - запуск первого шага
- show - вывод на экран
- get - получение значений массивом
- setUse - включене и отклоючение
Helpers
WordHelper
Класс для работы со словами - например окончания
- declension - Возвращает нужную форму существительного, стоящего после числительного
- showWeight - Возвращает отформатированный вес
- showLengthByMillimeters - Возвращает отформатированную длину в см - задается в мм
- numberFormat - Форматированный вывод чиел, с возможностью удаления незначащих нулей и с округлением до нужной точности
- clear - Очистка текста от примесей(тегов, лишних спец. символов)
- formatSize - получение форматированного размера(Kb,Mb...)
ClassFinderHelper
Получение списка классов
- getClasses - Поиск классов с совпадением имени в определенной папке
DateHelper
Хелпер для работы с датами
- replaceRuMonth - Подстановка русских месяцев по шаблону
- replaceRuDayOfWeek - Подстановка дней недели по шаблону
PhoneHelper
Обработка и нормализация телефонов
- isPhone - Проверяет телефон по правилам нормализации. Допускаются только десятизначные номера с ведущими 7 или 8
- normalizePhone - Нормализует телефонный номер.
- Возвращает телефонный номер в формате xxxxxxxxxx (10 цифр без разделителя)
- Кидает исключение, если $phone - не номер
- formatPhone - Форматирует телефон по шаблону