vsavritsky / bitrix-models
Библиотека для работы с инфоблоками, хайлоадами и т.п как сущностями
Installs: 502
Dependents: 2
Suggesters: 0
Security: 0
Stars: 4
Watchers: 1
Forks: 2
Open Issues: 0
pkg:composer/vsavritsky/bitrix-models
Requires
- php: >=8.0
 - ext-json: *
 - ext-mbstring: *
 - vsavritsky/bitrix-filter-builder: *
 
- dev-master
 - 0.1.27
 - 0.1.26
 - 0.1.25
 - 0.1.24
 - 0.1.23
 - 0.1.22
 - 0.1.21
 - 0.1.20
 - 0.1.19
 - 0.1.18
 - 0.1.17
 - 0.1.16
 - 0.1.15
 - 0.1.14
 - 0.1.13
 - 0.1.12
 - 0.1.11
 - 0.1.10
 - 0.1.9
 - 0.1.8
 - 0.1.7
 - 0.1.6
 - 0.1.5
 - 0.1.4
 - 0.1.3
 - 0.1.2
 - 0.1.1
 - 0.1.0
 - 0.0.27
 - 0.0.26
 - 0.0.24
 - 0.0.23
 - 0.0.22
 - 0.0.21
 - 0.0.20
 - 0.0.19
 - 0.0.18
 - 0.0.17
 - 0.0.16
 - 0.0.15
 - 0.0.14
 - 0.0.13
 - 0.0.12.2
 - 0.0.12.1
 - 0.0.12
 - 0.0.11
 - 0.0.10
 - 0.0.9
 - 0.0.8
 - 0.0.7
 - 0.0.6
 - 0.0.5
 - 0.0.3
 - 0.0.2
 - 0.0.1
 
This package is auto-updated.
Last update: 2025-10-25 13:30:36 UTC
README
Библиотека предлагает работать с данные из инфоблоков, хайлоадов битрикса в стиле ООП (в частности с сущностями, репозиториями и прочее)
Основные классы сущностей
BitrixModels\Entity\ElementModel - класс для элементов инфоблока
BitrixModels\Entity\SectionModel - класс для разделов инфоблоков 
BitrixModels\Entity\HighloadModel - класс для элементов хайлоадблока
BitrixModels\Entity\ProductModel - класс для товаров и тп
BitrixModels\Entity\UserModel - класс для пользователей
Классы репозиториев
BitrixModels\Repository\ElementRepository - класс для выборки элементов инфоблока
BitrixModels\Repository\SectionRepository - класс для выборки разделов инфоблоков 
BitrixModels\Repository\HighloadRepository - класс для выборки элементов хайлоадблока
BitrixModels\Repository\ProductRepository - класс для выборки товаров и тп
BitrixModels\Repository\UserRepository - класс для выборки пользователей
Хелперы
BitrixModels\Service\DateTimeService - класс для форматирования даты
BitrixModels\Service\FileService - класс для получения ссылки на файл
BitrixModels\Service\PictureService - класс для быстрого сжатия изображений
// Пример создания сущности новость
namespace App\Entity\Content;
use BitrixModels\Entity\ElementModel;
class News extends ElementModel
{
    /**
     * @var int
     */
    const IBLOCK_CODE = 'news'; 
}
Пример создания сущности репозитория для новостей
namespace App\Repository\Content;
use App\Entity\Content\News;
class NewsRepository extends \BitrixModels\Repository\ElementRepository
{
    protected $class = News::class;
}
// получение одного элемента по фильтру с сортировкой
$repository = new App\Repository\Content\NewsRepository();
$repository->findOneByFilter(Filter::create()->eq('CODE', 'TEST'), Sort::create('SORT', 'DESC'));
// получение списка с пагинацией по фильтру
$repository = new App\Repository\Content\NewsRepository();
$result = $repository->findByFilter(Select::create()->withProperties(), Filter::create()->eq('CODE', 'TEST'), Sort::create('SORT', 'DESC'), 1, 20);
foreach($result->getList() as $item) {
  
}
$pagination = $result->getPagination();