DevCraft Документации
УстаревшееMH Admin (Legacy)Back-EndClasses

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

Документация по плагину абстрактный класс: datamanager для DLE.

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

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

Описание:

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


Свойства

  • protected $db

Методы


Подробности

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

Свойства

protected $db : ?\db


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

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

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


Методы

abbr

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

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

Описание

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

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

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


connect

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

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

Описание

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

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

createDir

static public createDir(string  service = "DataManager", string  module = "mhadmin", int  permission = 0755, string  ...paths) : bool
Краткое содержание

Создаёт папку(и) по указанным путям с заданными правами доступа.

Описание

Для каждого предоставленного пути создаётся директория, если она ещё не существует. При возникновении ошибки (например, неудачного создания директории) ошибка логируется через LogGenerator::generate_log.

Свойства:
НазваниеТипПо умолчанию
$servicestring'DataManager'
$modulestring'mhadmin'
$permissionint0755
$pathsstring
Ошибки:
ТипОписание
\RuntimeExceptionБросается, если директория не может быть создана.
\JsonException|\ThrowableМожет быть вызван, если ошибка логирования связана с кодировкой JSON.
Возвращает:
bool

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


createLockFile

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

defType

static public defType(mixed  value, string  type) : float|bool|int|string
Краткое содержание

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

Описание

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

Поддерживаемые типы:

  • double, float: преобразование в число с плавающей точкой.
  • boolean, bool: преобразование в булево значение.
  • integer, int, tinyint: преобразование в целое число.
  • string: фильтрация как строка.

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

Свойства:
НазваниеТипПо умолчанию
$valuemixed
$typestring
Ошибки:
ТипОписание
\ValueErrorИсключение может быть выброшено, если filter_var получит некорректный фильтр.
Возвращает:
float|bool|int|string

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


deleteDir

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

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

Описание

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

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

dirToArray

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

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

Описание

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

Смотри так-же:
Свойства:
НазваниеТипПо умолчанию
$dirstring
$_extmixed
Возвращает:
array

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


getComparer

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

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

Описание

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

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

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


getConfig

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

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

Описание

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

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

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


getDb

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

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

Описание

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

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

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


getPrefix

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

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

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

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


getUserPrefix

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

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

Описание

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

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

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


joinPaths

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

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

Описание

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

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

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


nameArgs

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

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

Описание

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

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

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

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


normalizePath

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

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

Описание

Эта функция:

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

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


normalizeUrl

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

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

Описание

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

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

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


sanitizeArrayInput

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

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

Описание

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

Свойства:
НазваниеТипПо умолчанию
$inputmixednull
$flagsarray|nullnull
Возвращает:
mixed

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


sanitizeInput

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

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

Описание

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

Свойства:
НазваниеТипПо умолчанию
$valuemixed|nullnull
$flagsarray|nullnull
Возвращает:
string|null

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


setDb

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

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

Описание

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

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

toTranslit

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

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

Описание

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

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

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

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

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


loadJsonConfig

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

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

Описание

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

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

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


migrateOldConfig

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

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

Описание

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

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

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

On this page

Краткое содержание:Описание:СвойстваМетодыПодробностиСвойстваprotected $db : ?\dbМетодыabbrКраткое содержаниеОписаниеСмотри так-же:Свойства:Ошибки:Возвращает:connectКраткое содержаниеОписаниеСмотри так-же:Возвращает:createDirКраткое содержаниеОписаниеСвойства:Ошибки:Возвращает:createLockFileСвойства:Ошибки:Возвращает:defTypeКраткое содержаниеОписаниеСвойства:Ошибки:Возвращает:deleteDirКраткое содержаниеОписаниеСвойства:Ошибки:Возвращает:dirToArrayКраткое содержаниеОписаниеСмотри так-же:Свойства:Возвращает:getComparerКраткое содержаниеОписаниеСвойства:Ошибки:Возвращает:getConfigКраткое содержаниеОписаниеСвойства:Ошибки:Возвращает:getDbКраткое содержаниеОписаниеСмотри так-же:Возвращает:getPrefixКраткое содержаниеВозвращает:getUserPrefixКраткое содержаниеОписаниеВозвращает:joinPathsКраткое содержаниеОписаниеСвойства:Ошибки:Возвращает:nameArgsКраткое содержаниеОписаниеСвойства:Ошибки:Возвращает:normalizePathКраткое содержаниеОписаниеСвойства:Ошибки:Возвращает:normalizeUrlКраткое содержаниеОписаниеСвойства:Возвращает:sanitizeArrayInputКраткое содержаниеОписаниеСвойства:Возвращает:sanitizeInputКраткое содержаниеОписаниеСвойства:Возвращает:setDbКраткое содержаниеОписаниеСмотри так-же:Свойства:Возвращает:toTranslitКраткое содержаниеОписаниеСвойства:Ошибки:Возвращает:loadJsonConfigКраткое содержаниеОписаниеСвойства:Ошибки:Возвращает:migrateOldConfigКраткое содержаниеОписаниеСмотри так-же:Свойства:Ошибки:Возвращает: