PHPackages                             vsavritsky/bitrix-models - 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. [Database &amp; ORM](/categories/database)
4. /
5. vsavritsky/bitrix-models

ActiveLibrary[Database &amp; ORM](/categories/database)

vsavritsky/bitrix-models
========================

Библиотека для работы с инфоблоками, хайлоадами и т.п как сущностями

0.1.27(11mo ago)5616↓62.5%32PHPPHP &gt;=8.0

Since Aug 13Pushed 7mo ago2 watchersCompare

[ Source](https://github.com/vsavritsky/bitrix-models)[ Packagist](https://packagist.org/packages/vsavritsky/bitrix-models)[ RSS](/packages/vsavritsky-bitrix-models/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (1)Versions (56)Used By (2)

bitrix-models
=============

[](#bitrix-models)

Библиотека для работы с данными инфоблоков, хайлоадблоков и пользователями Bitrix в стиле ООП с использованием паттерна Repository.

Быстрый старт
-------------

[](#быстрый-старт)

### Установка

[](#установка)

```
composer require your-vendor/bitrix-models
```

### Основные возможности

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

- ✅ Работа с элементами инфоблоков через `ElementModel` и `ElementRepository`
- ✅ Работа с разделами инфоблоков через `SectionModel` и `SectionRepository`
- ✅ Работа с товарами через `ProductModel` и `ProductRepository`
- ✅ Работа с хайлоадблоками через `HighloadModel` и `HighloadRepository`
- ✅ Работа с пользователями через `UserModel` и `UserRepository`
- ✅ Гибкая система фильтрации, сортировки и выборки данных
- ✅ Автоматическое кэширование запросов
- ✅ Набор сервисов для работы с файлами, изображениями, датами и т.д.

### Пример использования

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

```
// 1. Создайте модель
namespace App\Entity\Content;

use BitrixModels\Entity\ElementModel;

class News extends ElementModel
{
    const IBLOCK_CODE = 'news';
}

// 2. Создайте репозиторий
namespace App\Repository\Content;

use App\Entity\Content\News;
use BitrixModels\Repository\ElementRepository;

class NewsRepository extends ElementRepository
{
    protected $class = News::class;
}

// 3. Используйте репозиторий
use BitrixModels\Model\Filter;
use BitrixModels\Model\Sort;
use BitrixModels\Model\Select;

$repository = new NewsRepository();

// Поиск по ID
$news = $repository->findById(123);

// Поиск с фильтром и сортировкой
$filter = Filter::create()->eq('ACTIVE', 'Y');
$sort = Sort::create('SORT', Sort::ASC);
$news = $repository->findOneByFilter($filter, $sort);

// Поиск с пагинацией
$select = Select::create()->withAllProperties()->withSeo();
$result = $repository->findByFilter($select, $filter, $sort, 20, 1);

foreach ($result->getList() as $news) {
    echo $news->getName();
}

// Добавление элемента
$id = $repository->add([
    'NAME' => 'Новая новость',
    'ACTIVE' => 'Y',
], [
    'COLOR' => 'red',
]);

// Обновление элемента
$repository->update($id, [
    'NAME' => 'Обновленное название',
]);
```

Документация
------------

[](#документация)

📖 **[Полная документация](docs/README.md)** - подробное описание всех сущностей, репозиториев и примеры использования

📚 **[Документация по сервисам](docs/service.md)** - описание всех доступных сервисов

Основные классы
---------------

[](#основные-классы)

### Сущности (Модели)

[](#сущности-модели)

- `BitrixModels\Entity\ElementModel` - элементы инфоблоков
- `BitrixModels\Entity\SectionModel` - разделы инфоблоков
- `BitrixModels\Entity\ProductModel` - товары (расширяет ElementModel)
- `BitrixModels\Entity\HighloadModel` - элементы хайлоадблоков
- `BitrixModels\Entity\UserModel` - пользователи

### Репозитории

[](#репозитории)

- `BitrixModels\Repository\ElementRepository` - работа с элементами
- `BitrixModels\Repository\SectionRepository` - работа с разделами
- `BitrixModels\Repository\ProductRepository` - работа с товарами
- `BitrixModels\Repository\HighloadRepository` - работа с хайлоадблоками
- `BitrixModels\Repository\UserRepository` - работа с пользователями

### Модели данных

[](#модели-данных)

- `BitrixModels\Model\Filter` - фильтрация запросов
- `BitrixModels\Model\Sort` - сортировка результатов
- `BitrixModels\Model\Select` - выборка полей и свойств
- `BitrixModels\Model\ListResult` - результат выборки с пагинацией

### Сервисы

[](#сервисы)

- `BitrixModels\Service\DateTimeService` - форматирование дат
- `BitrixModels\Service\FileService` - работа с файлами
- `BitrixModels\Service\PictureService` - работа с изображениями
- `BitrixModels\Service\PhoneService` - форматирование телефонов
- `BitrixModels\Service\GeoService` - работа с геоданными
- `BitrixModels\Service\UrlService` - работа с URL
- `BitrixModels\Service\SettingsService` - работа с настройками

Лицензия
--------

[](#лицензия)

См. файл [LICENSE](LICENSE)

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance58

Moderate activity, may be stable

Popularity23

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 90.3% 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 ~26 days

Total

55

Last Release

343d ago

PHP version history (3 changes)0.0.1PHP &gt;=7.1

0.0.12.1PHP &gt;=7.4

0.1.15PHP &gt;=8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/1872ace6ad18c747f549b07e197ac0405e2c92ba56449fbeebead453ed4fd69f?d=identicon)[savritsky](/maintainers/savritsky)

---

Top Contributors

[![savritsky](https://avatars.githubusercontent.com/u/5127886?v=4)](https://github.com/savritsky "savritsky (56 commits)")[![vsavritsky](https://avatars.githubusercontent.com/u/5252233?v=4)](https://github.com/vsavritsky "vsavritsky (4 commits)")[![justbeefree](https://avatars.githubusercontent.com/u/24621683?v=4)](https://github.com/justbeefree "justbeefree (2 commits)")

### Embed Badge

![Health badge](/badges/vsavritsky-bitrix-models/health.svg)

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

###  Alternatives

[jdorn/sql-formatter

a PHP SQL highlighting library

3.9k117.2M118](/packages/jdorn-sql-formatter)[propel/propel1

Propel is an open-source Object-Relational Mapping (ORM) for PHP5.

8351.6M87](/packages/propel-propel1)[jfelder/oracledb

Oracle DB driver for Laravel

11518.4k](/packages/jfelder-oracledb)

PHPackages © 2026

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