Класс: DleDataService¶
Краткое содержание:¶
Агрегирует справочные данные DLE: пользователи, группы, категории, xfields.
Свойства¶
Нет публичных свойств.
Методы¶
- public __construct()
- public users()
- public user()
- public groups()
- public groupsFull()
- public categories()
- public categoriesFull()
- public postXfields()
- public userXfields()
- public parseObjectXfields()
- private loadXfieldsFromJson()
- private readJsonFields()
- private parseXfieldsString()
- private readJsonCache()
- private writeJsonCache()
Подробности¶
- Путь:
devcraft/src/classes/Support/DleDataService.php
Детали¶
Методы¶
__construct()¶
Инициализирует зависимости: $loader, $cacheTimer.
С версии: 200.4.0
Параметры: - $loader — Сервис загрузки таблиц DLE. - $cacheTimer — TTL кеша xfields в секундах.
users()¶
Возвращает список пользователей DLE с основными полями.
С версии: 173.3.0
Возвращает: array<int, array<string, mixed>> — Строки users.
user()¶
Возвращает одного пользователя по id или имени.
С версии: 173.3.0
Параметры: - $id — ID пользователя или null. - $uname — Имя пользователя или null.
Возвращает: array<string, mixed>|array{} — Первая строка или пустой массив.
groups()¶
Возвращает карту id => group_name для групп пользователей.
С версии: 173.3.0
Возвращает: array<int|string, — string> Ассоциативный список групп.
groupsFull()¶
Возвращает полные строки таблицы usergroups.
С версии: 173.3.0
Возвращает: array<int, array<string, mixed>> — Все колонки групп.
categories()¶
Возвращает карту id => name для категорий DLE.
С версии: 173.3.0
Возвращает: array<int|string, — string> Ассоциативный список категорий.
categoriesFull()¶
Возвращает полные строки таблицы category.
С версии: 173.3.0
Возвращает: array<int, array<string, mixed>> — Все колонки категорий.
postXfields()¶
Загружает описание доп. полей публикаций из xfields.json.
С версии: 173.3.0
Возвращает: array<string, array<string, mixed>> — Поля по имени.
userXfields()¶
Загружает описание доп. полей пользователей из userxfields.json.
С версии: 173.3.0
Возвращает: array<string, array<string, mixed>> — Поля по имени.
parseObjectXfields()¶
Разбирает строку xfields записи post или user в ассоциативный массив.
С версии: 173.3.0
Параметры: - $id — ID записи или пользователя. - $type — Тип объекта: post или user.
Возвращает: array<string, — string|null> Имя поля => значение.
loadXfieldsFromJson()¶
Загружает xfields из JSON с кешированием.
С версии: 173.3.0
Параметры: - $cacheName — Ключ кеша. - $fileName — Имя файла в ENGINE_DIR/data/.
Возвращает: array<string, array<string, mixed>> — Поля xfields.
readJsonFields()¶
Читает и декодирует JSON-файл xfields из каталога data DLE.
С версии: 173.3.0
Параметры: - $fileName — Имя файла (xfields.json или userxfields.json).
Возвращает: array<string, array<string, mixed>> — Секция fields или пустой массив.
parseXfieldsString()¶
Парсит сериализованную строку xfields DLE формата «name|value||…».
С версии: 173.3.0
Параметры: - $raw — Сырыая строка xfields.
Возвращает: array<string, — string|null> Имя => значение.
readJsonCache()¶
Читает закешированные xfields, если TTL не истёк.
С версии: 173.3.0
Параметры: - $cacheName — Ключ кеша.
Возвращает: array<string, array<string, mixed>> — |null Поля или null.
writeJsonCache()¶
Записывает xfields в кеш DevCraft.
С версии: 173.3.0
Параметры: - $cacheName — Ключ кеша.