Класс: AssetsCheckerService¶
Краткое содержание:¶
Сканирует публичные ассеты, сравнивает с удалённым манифестом и загружает недостающие файлы.
Свойства¶
Нет публичных свойств.
Методы¶
- public __construct()
- public scan()
- public compare()
- public compareReport()
- public downloadAll()
- public downloadMissing()
- public run()
- public fileMetadata()
- private deployAbsolutePath()
- private normalizeManifestFiles()
- private writeManifest()
- private readManifest()
- private fetchRemoteManifest()
- private downloadAssetFile()
Подробности¶
- Путь:
devcraft/src/classes/Support/AssetsCheckerService.php
Детали¶
Методы¶
__construct()¶
Принимает $manifestPath: Путь к assets.json или null для Paths::config()..
С версии: 173.3.0
Параметры: - $manifestPath — Путь к assets.json или null для Paths::config().
scan()¶
Сканирует локальные файлы по ключам удалённого манифеста и записывает локальный MD5-манифест.
С версии: 173.3.0
Возвращает: array<string, array<string, mixed>> — Манифест file => metadata.
compare()¶
Сравнивает локальный манифест с удалённым по hash.
С версии: 173.3.0
Параметры: - $remoteUrl — URL удалённого assets.json.
Возвращает: array{missing: string[], outdated: string[], ok: string[]} — Списки путей.
compareReport()¶
Формирует расширенный отчёт сравнения с метаданными файлов.
С версии: 173.3.0
Параметры: - $remoteUrl — URL удалённого assets.json.
Возвращает: array{ —
downloadAll()¶
Загружает все файлы из удалённого манифеста.
С версии: 173.3.0
Параметры: - $remoteUrl — URL удалённого assets.json.
Возвращает: int — Число успешно загруженных файлов.
downloadMissing()¶
Загружает только missing и outdated файлы из diff.
С версии: 173.3.0
Возвращает: int — Число успешно загруженных файлов.
run()¶
Выполняет полный цикл: scan → compare → downloadMissing.
С версии: 173.3.0
Возвращает: array<string, — mixed> Ключи scan, compare, downloaded.
fileMetadata()¶
Формирует метаданные одного файла для манифеста.
С версии: 173.3.0
Параметры: - $absolutePath — Абсолютный путь к файлу на диске.
Возвращает: array{path: string, file: string, link: string, hash: string, alt: string, alt_name: string, required: bool} — |null Метаданные или null.
deployAbsolutePath()¶
Возвращает абсолютный путь развёртывания из поля file манифеста (от ROOT_DIR).
С версии: 200.4.0
normalizeManifestFiles()¶
Извлекает секцию files из манифеста или фильтрует плоский массив.
С версии: 173.3.0
Возвращает: array<string, array<string, mixed>> — Карта path => metadata.
writeManifest()¶
Записывает локальный JSON-манифест на диск.
С версии: 173.3.0
readManifest()¶
Читает локальный JSON-манифест assets.json.
С версии: 173.3.0
Возвращает: array<string, — mixed> Декодированный манифест или пустой массив.
fetchRemoteManifest()¶
Загружает и декодирует удалённый JSON-манифест.
С версии: 173.3.0
Параметры: - $remoteUrl — URL assets.json.
Возвращает: array<string, — mixed>|null Манифест или null при ошибке.
downloadAssetFile()¶
Скачивает один файл ассета по link/alt из метаданных.
С версии: 173.3.0
Параметры: - $manifestKey — Ключ /assets/... .
Возвращает: bool — true при успешной записи файла.