Класс: AssetsChecker
Документация по плагину класс: AssetsChecker для DLE.
Краткое содержание:
Трейт для проверки и управления ассетами (файлы скриптов и стилей).
Свойства
- private $asset_file
- private $assets_arr
- private $assets_dir
Методы
- public checkAssets()
- public parseAssets()
- public save_asset()
- private fetchFileContent()
- private generateFileMetadata()
- private parse_assets()
- private prepare_assets()
- private saveFile()
Подробности
- Путь: engine/inc/maharder/_includes/traits/AssetsChecker.php
Свойства
private $asset_file : string
Краткое содержание
Файл с информацией и хешами вспомогательных файлов
Тип: Текст
private $assets_arr : array
Краткое содержание
Массив со всеми данными для обновления стилей и скриптов
Тип: Массив
private $assets_dir : string
Краткое содержание
Путь до всех вспомогательных файлов
Тип: Текст
Методы
checkAssets
public checkAssets(bool rewrite = false) : arrayКраткое содержание
Проверяет целостность файлов между локальным хранилищем и сервером разработчика.
Описание
Если файлы отсутствуют или имеют различия в хеш-суммах, информация об этих расхождениях возвращается в виде массива. При необходимости может быть выполнена перезапись локального файла с данными о ресурсах.
Смотри так-же:
Свойства:
| Название | Тип | По умолчанию |
|---|---|---|
| $rewrite | bool | false |
Ошибки:
| Тип | Описание |
|---|---|
| \JsonException |
Возвращает:
arrayАссоциативный массив с информацией о проверке файлов:
on_server(int): Количество файлов, находящихся на сервере разработчика.local(int): Количество локальных файлов.missing_count(int): Количество недостающих файлов.update_count(int): Количество файлов, требующих обновления.missing(array): Массив с данными о недостающих файлах.update(array): Массив с данными о файлах, требующих обновления.
parseAssets
public parseAssets(bool parse = false) : voidКраткое содержание
Выполняет парсинг вспомогательных файлов для управления ассетами.
Описание
Если файл с хешами ассетов существует, то парсинг выполняется только при принудительном запуске. В случае отсутствия указанного файла производится полное сканирование ассетов.
Смотри так-же:
Свойства:
| Название | Тип | По умолчанию |
|---|---|---|
| $parse | bool | false |
Ошибки:
| Тип | Описание |
|---|---|
| \JsonException|\Throwable | В случае ошибок в процессах обработки JSON-файлов. |
Возвращает:
voidsave_asset
public save_asset(array data, string file) : array|falseКраткое содержание
Сохраняет файл на сервер и возвращает информацию о нём или false в случае неуспеха.
Смотри так-же:
- \DataManager::createDir()
- \LogGenerator::generateLog()
- \AssetsChecker::fetchFileContent()
- \AssetsChecker::saveFile()
- \AssetsChecker::generateFileMetadata()
Свойства:
| Название | Тип | По умолчанию |
|---|---|---|
| $data | array | |
| $file | string |
Ошибки:
| Тип | Описание |
|---|---|
| \JsonException | \Throwable |
Возвращает:
array|falseВозвращает массив с информацией о сохранённом файле или false, если файл не удалось сохранить. Массив содержит следующие ключи:
- 'realpath' (string): Полный реальный путь до файла.
- 'dirname' (string): Директория файла.
- 'basename' (string): Имя файла с расширением.
- 'filename' (string): Имя файла без расширения.
- 'extension' (string): Расширение файла.
- 'mime' (string): MIME-тип файла.
- 'encoding' (string): Тип кодирования файла.
- 'size' (int): Размер файла в байтах.
- 'size_string' (string): Размер файла в человекочитаемом формате (например, "1.5MB").
- 'atime' (int): Время последнего доступа к файлу (в метках времени Unix).
- 'mtime' (int): Время последней модификации файла (в метках времени Unix).
- 'permission' (string): Права доступа на файл (в формате UNIX-подобной строки, например, "0755").
fetchFileContent
private fetchFileContent(array data) : string|nullКраткое содержание
Получает содержимое файла по указанным ссылкам.
Описание
Метод пытается загрузить содержимое файла с основной (link) и,
при необходимости, с альтернативной (alt) ссылки, если содержимое
по основной ссылке пустое.
Свойства:
| Название | Тип | По умолчанию |
|---|---|---|
| $data | array |
Возвращает:
string|nullВозвращает содержимое файла, либо null, если не удалось загрузить файл.
generateFileMetadata
private generateFileMetadata(string file_path) : arrayКраткое содержание
Генерирует метаданные для указанного файла.
Свойства:
| Название | Тип | По умолчанию |
|---|---|---|
| $file_path | string |
Ошибки:
| Тип | Описание |
|---|---|
| \RuntimeException | Если файл не существует или недоступен. |
Возвращает:
arrayАссоциативный массив, содержащий следующую информацию о файле:
- 'realpath' (string|null): Абсолютный путь до файла.
- 'dirname' (string): Путь к директории, содержащей файл.
- 'basename' (string): Имя файла с расширением.
- 'filename' (string): Имя файла без расширения.
- 'extension' (string|null): Расширение файла.
- 'mime' (string): MIME-тип файла.
- 'encoding' (string): Кодировка файла.
- 'size' (int): Размер файла в байтах.
- 'size_string' (string): Читаемое представление размера файла (например, "10.5 KB").
- 'atime' (int): Временная метка последнего доступа к файлу.
- 'mtime' (int): Временная метка последней модификации файла.
- 'permission' (string): Права доступа к файлу (например, "0755").
parse_assets
private parse_assets() : voidКраткое содержание
Парсит данные о ресурсах (assets), проверяет наличие отсутствующих или обновленных, и обновляет информацию. Также сохраняет актуальные данные в локальный файл ресурсов.
Описание
Процесс включает следующие этапы:
- Получение списка локальных файлов и их данных через метод
prepare_assets. - Получение данных об удаленных ресурсах через URL.
- Сравнение данных о хэшах локальных и удаленных ресурсов.
- Сохранение недостающих или обновленных ресурсов в локальное хранилище.
- Запись актуализированных данных в локальный JSON-файл.
Смотри так-же:
Ошибки:
| Тип | Описание |
|---|---|
| \JsonException|\Throwable | Исключение выбрасывается в случае ошибки при работе с JSON. |
Возвращает:
voidprepare_assets
private prepare_assets(array arr, string dir = __DIR__) : voidКраткое содержание
Подготавливает данные о файлах, расположенных на локальном сервере, и сохраняет их в массив assets_arr.
Описание
Метод рекурсивно обрабатывает массив с файлами и создает запись для каждого файла в конечном массиве assets_arr,
содержащую путь, имя файла и его хэш.
Свойства:
| Название | Тип | По умолчанию |
|---|---|---|
| $arr | array | |
| $dir | string | __DIR__ |
Возвращает:
voidsaveFile
private saveFile(string file_path, string content, string file) : boolКраткое содержание
Сохраняет содержимое в файл и логирует сообщение при возникновении ошибки.
Описание
Метод выполняет запись переданного содержимого в указанный путь файла, проверяет, доступен ли файл для записи, и логирует ошибку в случае неудачи.
Смотри так-же:
Свойства:
| Название | Тип | По умолчанию |
|---|---|---|
| $file_path | string | |
| $content | string | |
| $file | string |
Ошибки:
| Тип | Описание |
|---|---|
| \Throwable |
Возвращает:
boolВозвращает true, если файл успешно сохранён, или false — в случае ошибки.