Перейти к содержанию

Абстрактный класс: DataManager

Краткое содержание:

Абстрактный класс DataManager, представляющий базовый функционал для менеджеров данных.

Описание:

Класс служит основой для реализации логики работы с данными, например, взаимодействия с базой данных. Конкретные реализации должны быть определены в наследниках этого класса.


Свойства

  • protected $db

Методы


Подробности

  • Путь: engine/inc/maharder/_includes/classes/DataManager.php

Свойства

protected $db : ?\db


Краткое содержание

Статическое свойство для хранения экземпляра базы данных.

Тип: db Экземпляр базы данных или null, если он не инициализирован.


Методы

abbr

Text Only
static public abbr(string  string, string  sep = "_") : string
Краткое содержание

Создает аббревиатуру из переданной строки, используя указанное разделение слов.

Описание

Функция извлекает первую букву каждого слова из строки, разделенной указанным разделителем, и формирует из них аббревиатуру, преобразуя результат в верхний регистр.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$string string
$sep string '_'
Ошибки:
Тип Описание
\InvalidArgumentException Если один из параметров передан с некорректным типом.
Возвращает:
Text Only
string

Аббревиатура, сформированная из начальных букв всех слов строки в верхнем регистре.


connect

Text Only
static public connect() : void
Краткое содержание

Устанавливает подключение к базе данных, если оно еще не было установлено.

Описание

Если глобальная переменная DBHOST не определена, подключение к базе данных конфигурируется через файл dbconfig.php в папке ENGINE_DIR. В противном случае используется глобальная переменная $db.

Смотри так-же:
Возвращает:
Text Only
void

createDir

Text Only
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.
Возвращает:
Text Only
bool

Возвращает true, если все директории успешно созданы, иначе false.


createLockFile

Text Only
static public createLockFile(string  path) : mixed
Свойства:
Название Тип По умолчанию
$path string
Ошибки:
Тип Описание
\Throwable
\JsonException
Возвращает:
Text Only
mixed

defType

Text Only
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 получит некорректный фильтр.
Возвращает:
Text Only
float|bool|int|string

Преобразованное значение в заданный тип, либо строковое представление значения, если преобразование невозможно или тип неизвестен.


deleteDir

Text Only
static public deleteDir(string  path) : void
Краткое содержание

Полностью удаляет директорию и все её содержимое, включая файлы и вложенные директории.

Описание

Эта функция рекурсивно обходит заданный путь, удаляя все файлы и вложенные директории, а затем удаляет саму директорию. Игнорирует защищённую директорию, путь к которой жёстко прописан в коде.

Свойства:
Название Тип По умолчанию
$path string
Ошибки:
Тип Описание
\UnexpectedValueException В случае, если переданный путь не является директорией или не может быть прочитан.
Возвращает:
Text Only
void

dirToArray

Text Only
static public dirToArray(string  dir, mixed  ..._ext) : array
Краткое содержание

Преобразует указанную директорию в массив, содержащий все папки и файлы из неё.

Описание

Этот метод является обёрткой для функции dirToArray и вызывает её с переданными параметрами. Используется для рекурсивного получения структуры директорий и файлов в виде массива.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$dir string
$_ext mixed
Возвращает:
Text Only
array

Ассоциативный массив, где ключами могут быть директории, а значения — содержимое этих директорий; файлы представлены в виде элементов массива.


getComparer

Text Only
static public getComparer(mixed  value) : string
Краткое содержание

Формирует строку, представляющую оператор сравнения и значение, основанную на переданном значении.

Описание

Эта функция анализирует начальный символ переданного значения, чтобы определить оператор сравнения (например, '=', '<', '>', 'LIKE', '<>', '<=', '>='). Если переданный оператор — '%', то значение оборачивается в проценты для использования в операциях LIKE. Если значение начинается с других специальных символов, оно интерпретируется и оператор определяется автоматически. При необходимости значение преобразуется в указанный тип.

Свойства:
Название Тип По умолчанию
$value mixed
Ошибки:
Тип Описание
\InvalidArgumentException Если передано некорректное значение или тип недопустим для обработки.
Возвращает:
Text Only
string

Строка, представляющая оператор сравнения и значение, готовая для использования в SQL- или других выражениях. Например: " = 'some_value'", "< 10", или " LIKE '%abc%'".


getConfig

Text Only
static public getConfig(string  codename, string|null  path = null, string|null  confName = null) : array
Краткое содержание

Получает конфигурацию на основе указанного кода имени и пути к файлу JSON.

Описание

Метод сначала пытается загрузить конфигурацию из указанного или стандартного пути. Если файл не найден, он проверяет, указано ли устаревшее имя конфигурации для выполнения миграции данных. Если миграция невозможна, возвращается пустой массив.

Свойства:
Название Тип По умолчанию
$codename string
$path string|null null
$confName string|null null
Ошибки:
Тип Описание
\JsonException Если содержимое JSON-файла некорректно при вызове loadJsonConfig.
\RuntimeException Если ошибка возникает во время миграции конфигурации.
Возвращает:
Text Only
array

Возвращает массив конфигурации. Если файл или миграция недоступны, возвращается пустой массив.


getDb

Text Only
static public getDb() : \db
Краткое содержание

Возвращает объект подключения к базе данных.

Описание

Если подключение еще не было установлено, метод инициирует его вызовом метода connect().

Смотри так-же:
Возвращает:
Text Only
\db

Объект подключения к базе данных.


getPrefix

Text Only
static public getPrefix() : string
Краткое содержание

Возвращает префикс, заданный в системе.

Возвращает:
Text Only
string

Префикс, используемый в системе.


getUserPrefix

Text Only
static public getUserPrefix() : string
Краткое содержание

Получает префикс пользователя.

Описание

Данный метод возвращает значение константы USERPREFIX.

Возвращает:
Text Only
string

Префикс пользователя.


joinPaths

Text Only
public joinPaths(string  ...paths) : string
Краткое содержание

Объединяет несколько путей в один.

Описание

Объединение происходит слева направо. Пустые значения игнорируются. Возвращаемый путь нормализуется (лишние символы удаляются, контролируется корректность пути).

Свойства:
Название Тип По умолчанию
$paths string
Ошибки:
Тип Описание
\RuntimeException Если произошла ошибка при нормализации пути.
Возвращает:
Text Only
string

Возвращает объединённый и нормализованный путь.


nameArgs

Text Only
(deprecated) - static public nameArgs(array|null  args) : array
Краткое содержание

Преобразует переданный массив в плоский массив ключ-значение, удаляя пустые значения.

Описание

Метод принимает массив (или null) и возвращает новый массив, где все вложенные массивы разворачиваются в плоскую структуру. Для элементов с числовыми ключами их значения назначаются в виде ключей и значений одновременно. Пустые строки или null удаляются из итогового массива.

Устарело Устарело с версии PHP 8.1. Рекомендуется использовать альтернативные методы для работы с массивами.

Свойства:
Название Тип По умолчанию
$args array|null
Ошибки:
Тип Описание
\InvalidArgumentException Если аргумент $args содержит некорректные данные.
Возвращает:
Text Only
array

Плоский массив ключ-значение, где пустые строки и null исключены.


normalizePath

Text Only
static public normalizePath(string  path) : string
Краткое содержание

Нормализует путь, очищая его от лишних управляющих символов, точек и других нежелательных элементов.

Описание

Эта функция:

  • Удаляет управляющие символы и преобразует все обратные слэши (\) в прямые (/).
  • Убирает текущую (.) и родительскую (..) директории из пути.
  • Удаляет корневой каталог (ROOT_DIR), если путь начинается с него.
  • Гарантирует, что путь на Linux начинается с символа /.
Свойства:
Название Тип По умолчанию
$path string
Ошибки:
Тип Описание
\InvalidArgumentException Если константа ROOT_DIR не определена или имеет недопустимый тип.
Возвращает:
Text Only
string

Нормализованный путь. Возвращается пустая строка, если входной путь содержит недопустимые символы (например, управляющие символы).


normalizeUrl

Text Only
static public normalizeUrl(string  url, array  additionalQuery = []) : string
Краткое содержание

Нормализует указанный URL, добавляя дополнительные параметры запроса при необходимости.

Описание

Если URL содержит схему или начинается с двойного слэша, возвращается исходный URL без изменений. Если URL не содержит схему, добавляется базовый URL, который формируется на основе конфигурации $config. Если путь в URL является относительным, он также дополняется базовым URL.

Свойства:
Название Тип По умолчанию
$url string
$additionalQuery array []
Возвращает:
Text Only
string

Нормализованный URL.


sanitizeArrayInput

Text Only
static public sanitizeArrayInput(mixed  input = null, array|null  flags = null) : mixed
Краткое содержание

Очищает входные данные, массивы или значения, используя заданные флаги для фильтрации.

Описание

Если входные данные являются массивом, рекурсивно применяется функция очистки ко всем элементам массива. Если входные данные - одно значение, применяется очистка непосредственно к нему.

Свойства:
Название Тип По умолчанию
$input mixed null
$flags array|null null
Возвращает:
Text Only
mixed

Очищенные данные. Если входные данные - массив, возвращается очищенный массив. Если данные не заданы, возвращается null.


sanitizeInput

Text Only
static public sanitizeInput(mixed|null  value = null, array|null  flags = null) : string|null
Краткое содержание

Обрабатывает и фильтрует входящее значение на основе заданных флагов.

Описание

Эта функция принимает значение и массив флагов фильтрации, которые применяются к значению последовательно, используя функцию filter_var.

Свойства:
Название Тип По умолчанию
$value mixed|null null
$flags array|null null
Возвращает:
Text Only
string|null

Возвращает отфильтрованное значение в виде строки или null в случае, если значение или фильтрация недействительны.


setDb

Text Only
static public setDb(\db|null  db) : void
Краткое содержание

Устанавливает экземпляр базы данных.

Описание

Метод задает объект базы данных, который будет использоваться в дальнейшем.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$db \db|null
Возвращает:
Text Only
void

toTranslit

Text Only
static public toTranslit(string  input, bool  lowercase = true) : string
Краткое содержание

Конвертирует строку в транслитерацию, форматирует её и удаляет нежелательные символы.

Описание

Эта функция выполняет трансформацию текста с учетом заданного функционала:

  • Преобразует строку в транслит с использованием Transliterator или функции totranslit(), если Transliterator недоступен.
  • Удаляет все символы, кроме букв, цифр и пробелов.
  • Заменяет пробелы на символы подчеркивания.
  • Приводит строку к нижнему регистру.

Функция упрощает создание URL-совместимых или SEO-оптимизированных строк из произвольных текстовых данных.

Свойства:
Название Тип По умолчанию
$input string
$lowercase bool true
Ошибки:
Тип Описание
\RuntimeException Если ни один из механизмов транслитерации, Transliterator или totranslit, недоступен или некорректен.
Возвращает:
Text Only
string

Отформатированная строка, приведенная к нижнему регистру, состоящая из символов латиницы, цифр и подчеркиваний.


loadJsonConfig

Text Only
static private loadJsonConfig(string  filePath) : array
Краткое содержание

Загружает JSON-конфигурацию из указанного файла и возвращает её в виде массива.

Описание

Функция читает содержимое файла, парсит его как JSON и возвращает массив данных. Если элементы данных не являются массивами, они проходят фильтрацию с использованием FILTER_SANITIZE_FULL_SPECIAL_CHARS.

Свойства:
Название Тип По умолчанию
$filePath string
Ошибки:
Тип Описание
\JsonException Если произошла ошибка при парсинге JSON.
\RuntimeException Если файл не существует или недоступен для чтения.
Возвращает:
Text Only
array

Ассоциативный массив, содержащий данные из файла JSON.


migrateOldConfig

Text Only
static private migrateOldConfig(string  codename, string  confName, string  configPath) : array
Краткое содержание

Мигрирует старый файл конфигурации в новый JSON-формат.

Описание

Функция проверяет наличие старого конфигурационного файла, преобразует его содержимое в новый формат, сохраняет в указанной директории в формате JSON и удаляет старый файл. Если файл отсутствует или содержит некорректный формат данных, выполняются соответствующие обработки ошибок и возвращается пустой массив.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$codename string
$confName string
$configPath string
Ошибки:
Тип Описание
\JsonException Если возникают ошибки при кодировании JSON.
\RuntimeException Если не удается записать файл или выполнить операции с файловой системой.
\Throwable
Возвращает:
Text Only
array

Вернет массив настроек, извлеченных из старого конфигурационного файла.