Абстрактный класс DataManager, представляющий базовый функционал для менеджеров данных.
Описание:
Класс служит основой для реализации логики работы с данными, например, взаимодействия с базой данных. Конкретные реализации должны быть определены в наследниках этого класса.
static public abbr(string string, string sep = "_") : string
Краткое содержание
Создает аббревиатуру из переданной строки, используя указанное разделение слов.
Описание
Функция извлекает первую букву каждого слова из строки, разделенной указанным разделителем, и формирует из них аббревиатуру, преобразуя результат в верхний регистр.
Смотри так-же:
Свойства:
Название
Тип
По умолчанию
$string
string
$sep
string
'_'
Ошибки:
Тип
Описание
\InvalidArgumentException
Если один из параметров передан с некорректным типом.
Устанавливает подключение к базе данных, если оно еще не было установлено.
Описание
Если глобальная переменная DBHOST не определена, подключение к базе данных конфигурируется через файл dbconfig.php в папке ENGINE_DIR. В противном случае используется глобальная переменная $db.
static public createDir(string service = "DataManager", string module = "mhadmin", int permission = 0755, string ...paths) : bool
Краткое содержание
Создаёт папку(и) по указанным путям с заданными правами доступа.
Описание
Для каждого предоставленного пути создаётся директория, если она ещё не существует. При возникновении ошибки (например, неудачного создания директории) ошибка логируется через LogGenerator::generate_log.
Свойства:
Название
Тип
По умолчанию
$service
string
'DataManager'
$module
string
'mhadmin'
$permission
int
0755
$paths
string
Ошибки:
Тип
Описание
\RuntimeException
Бросается, если директория не может быть создана.
\JsonException|\Throwable
Может быть вызван, если ошибка логирования связана с кодировкой JSON.
static public defType(mixed value, string type) : float|bool|int|string
Краткое содержание
Приводит значение к указанному типу, если возможно, используя набор фильтров.
Описание
Функция принимает значение и тип, преобразует значение к заданному типу с использованием соответствующего фильтра. Если преобразование невозможно, возвращается строковое представление значения.
Поддерживаемые типы:
double, float: преобразование в число с плавающей точкой.
boolean, bool: преобразование в булево значение.
integer, int, tinyint: преобразование в целое число.
string: фильтрация как строка.
Если указанный тип отсутствует в карте типов, функция возвращает строковое представление значения.
Свойства:
Название
Тип
По умолчанию
$value
mixed
$type
string
Ошибки:
Тип
Описание
\ValueError
Исключение может быть выброшено, если filter_var получит некорректный фильтр.
Полностью удаляет директорию и все её содержимое, включая файлы и вложенные директории.
Описание
Эта функция рекурсивно обходит заданный путь, удаляя все файлы и вложенные директории, а затем удаляет саму директорию. Игнорирует защищённую директорию, путь к которой жёстко прописан в коде.
Свойства:
Название
Тип
По умолчанию
$path
string
Ошибки:
Тип
Описание
\UnexpectedValueException
В случае, если переданный путь не является директорией или не может быть прочитан.
static public dirToArray(string dir, mixed ..._ext) : array
Краткое содержание
Преобразует указанную директорию в массив, содержащий все папки и файлы из неё.
Описание
Этот метод является обёрткой для функции dirToArray и вызывает её с переданными параметрами. Используется для рекурсивного получения структуры директорий и файлов в виде массива.
Формирует строку, представляющую оператор сравнения и значение, основанную на переданном значении.
Описание
Эта функция анализирует начальный символ переданного значения, чтобы определить оператор сравнения (например, '=', '<', '>', 'LIKE', '<>', '<=', '>='). Если переданный оператор — '%', то значение оборачивается в проценты для использования в операциях LIKE. Если значение начинается с других специальных символов, оно интерпретируется и оператор определяется автоматически. При необходимости значение преобразуется в указанный тип.
Свойства:
Название
Тип
По умолчанию
$value
mixed
Ошибки:
Тип
Описание
\InvalidArgumentException
Если передано некорректное значение или тип недопустим для обработки.
Строка, представляющая оператор сравнения и значение, готовая для использования в SQL- или других выражениях. Например: " = 'some_value'", "< 10", или " LIKE '%abc%'".
Получает конфигурацию на основе указанного кода имени и пути к файлу JSON.
Описание
Метод сначала пытается загрузить конфигурацию из указанного или стандартного пути. Если файл не найден, он проверяет, указано ли устаревшее имя конфигурации для выполнения миграции данных. Если миграция невозможна, возвращается пустой массив.
Свойства:
Название
Тип
По умолчанию
$codename
string
$path
string|null
null
$confName
string|null
null
Ошибки:
Тип
Описание
\JsonException
Если содержимое JSON-файла некорректно при вызове loadJsonConfig.
\RuntimeException
Если ошибка возникает во время миграции конфигурации.
Объединение происходит слева направо. Пустые значения игнорируются. Возвращаемый путь нормализуется (лишние символы удаляются, контролируется корректность пути).
(deprecated) - static public nameArgs(array|null args) : array
Краткое содержание
Преобразует переданный массив в плоский массив ключ-значение, удаляя пустые значения.
Описание
Метод принимает массив (или null) и возвращает новый массив, где все вложенные массивы разворачиваются в плоскую структуру. Для элементов с числовыми ключами их значения назначаются в виде ключей и значений одновременно. Пустые строки или null удаляются из итогового массива.
Устарело Устарело с версии PHP 8.1. Рекомендуется использовать альтернативные методы для работы с массивами.
static public normalizeUrl(string url, array additionalQuery = []) : string
Краткое содержание
Нормализует указанный URL, добавляя дополнительные параметры запроса при необходимости.
Описание
Если URL содержит схему или начинается с двойного слэша, возвращается исходный URL без изменений. Если URL не содержит схему, добавляется базовый URL, который формируется на основе конфигурации $config. Если путь в URL является относительным, он также дополняется базовым URL.
Очищает входные данные, массивы или значения, используя заданные флаги для фильтрации.
Описание
Если входные данные являются массивом, рекурсивно применяется функция очистки ко всем элементам массива. Если входные данные - одно значение, применяется очистка непосредственно к нему.
Загружает JSON-конфигурацию из указанного файла и возвращает её в виде массива.
Описание
Функция читает содержимое файла, парсит его как JSON и возвращает массив данных. Если элементы данных не являются массивами, они проходят фильтрацию с использованием FILTER_SANITIZE_FULL_SPECIAL_CHARS.
Свойства:
Название
Тип
По умолчанию
$filePath
string
Ошибки:
Тип
Описание
\JsonException
Если произошла ошибка при парсинге JSON.
\RuntimeException
Если файл не существует или недоступен для чтения.
Мигрирует старый файл конфигурации в новый JSON-формат.
Описание
Функция проверяет наличие старого конфигурационного файла, преобразует его содержимое в новый формат, сохраняет в указанной директории в формате JSON и удаляет старый файл. Если файл отсутствует или содержит некорректный формат данных, выполняются соответствующие обработки ошибок и возвращается пустой массив.