Skip to content
Ilya Serdyuk edited this page Jan 21, 2021 · 1 revision

Ниже приведены публичные методы ZFE Files.

Курсивом выделено описание перегружаемых методов.

Агенты

Интерфейс ZfeFiles_Agent_Interface

Интерфейс агентов файлов.

Метод Описание
process(bool $force = false): void Выполнить все обработки файла (от агента и от схемы)
getDataForUploader(): array Получить данные для загрузчика
getFile(): ZfeFiles_File_OriginInterface|AbstractRecord Получить файл
getManageableItem(): ?ZfeFiles_Manageable|AbstractRecord Получить управляющую запись (к которой привязан файл)
getSchema(): ?ZfeFiles_Schema_Default Получить схему
getFilename(): string Получить имя файла с расширением
isAllow(string $privilege): bool Проверить право текущего пользователя на конкретное действие над файлом
setData(array $data): void Установить дополнительные данные
toArray(bool $deep = true): array Привести к массиву
save(): void Сохранить все данные агента

Абстрактный класс ZfeFiles_Agent_Abstract

Абстрактный агент файлов.

Метод Описание
process(bool $force = false): void Выполнить все обработки файла (от агента и от схемы)
getDataForUploader(): array Получить данные для загрузчика
getFile(): ZfeFiles_File_OriginInterface|AbstractRecord Получить файл
getFilename(): string Получить имя файла с расширением
isAllow(string $privilege): bool Проверить право текущего пользователя на конкретное действие над файлом
setData(array $data): void Установить дополнительные данные
toArray(bool $deep = true): array Привести к массиву
__debugInfo() Магический метод для упрощения отладки

Класс ZfeFiles_Agent_Mono

Агент файлов, соответствующих ровно одной управляющей записи.

Метод Описание
__construct(ZfeFiles_File_OriginInterface|AbstractRecord $file)
getManageableItem(): ?ZfeFiles_Manageable|AbstractRecord Получить управляющую запись (к которой привязан файл)
getSchema(): ?ZfeFiles_Schema_Default Получить схему
save(): void Сохранить все данные агента

Класс ZfeFiles_Agent_Multiple

Агент файлов, связывающихся с управляющими записями по связи типа много-ко-многим.

Метод Описание
__construct(ZfeFiles_File_OriginInterface|AbstractRecord $file, ?ZfeFiles_MediatorInterface|AbstractRecord $mediator = null)
getMediator(): ?ZfeFiles_MediatorInterface|AbstractRecord Получить медиатор
getManageableItem(): ?ZfeFiles_Manageable|AbstractRecord Получить управляющую запись (к которой привязан файл)
getSchema(): ?ZfeFiles_Schema_Default Получить схему
toArray(bool $deep = true): array Привести к массиву
save(): void Сохранить все данные агента

Менеджеры

Интерфейс ZfeFiles_Manager_Interface

Интерфейс менеджеров файлов.

Метод Описание
getUploadUrl(): string Получить адрес для загрузки
factory(array $data): ZfeFiles_Agent_Interface Зарегистрировать новый файл по метаданным
getHandler(): ?ZfeFiles_Handler_Interface Получить общий обработчик для всех файлов менеджера
updateAgents(ZfeFiles_Manageable|AbstractRecord $item, ZfeFiles_Schema_Default $schema, ZfeFiles_Agent_Interface[] $agents): void Обновить данные агентов в БД
process(string $modelName, int $itemId, bool $force = false): void Выполнить обработчики для прикрепленных файлов
createAgents(array $data, string $schemaCode, ZfeFiles_Manageable|AbstractRecord $item): ZfeFiles_Agent_Interface[] Создать агенты по данным файлов и связей
getAgentsBySchema(ZfeFiles_Manageable|AbstractRecord $item, string $schemaCode): ZfeFiles_Agent_Interface[] Получить агенты соответствующие схеме
getAgentByRelation(int $fileId, string $modelName, string $schemaCode, int $itemId): ?ZfeFiles_Agent_Interface Получить агент по связи файла с управляющей записью
getAgentByFileId(int $id): ?ZfeFiles_Agent_Interface Получить агент по ID файла
getAgentByFile(ZfeFiles_File_OriginInterface|AbstractRecord $file): ZfeFiles_Agent_Interface Получить агент по файлу

Абстрактный класс ZfeFiles_Manager_Abstract

Базовый абстрактный менеджер файлов.

Метод Описание
__construct($config = null)
setOptions(array $options): void Установить опциональные параметры менеджера
getUploadUrl(): string Получить адрес для загрузки
hash(string $path): string Получить хеш-сумму для файла
getHandler(): ?ZfeFiles_Handler_Interface Получить общий обработчик для всех файлов менеджера
getAgentByFileId(int $id): ?ZfeFiles_Agent_Interface Получить агент по ID файла
getAgentByFile(ZfeFiles_File_OriginInterface|AbstractRecord $file): ZfeFiles_Agent_Interface Получить агент по файлу
move(ZfeFiles_File_Interface|AbstractRecord $file, string $tempPath = null): void Переместить файл из временного расположения в постоянное
extractIds(array $rows): number[] Извлечь ID из массива чисел и JSON
extractData(array $rows): array Извлечь дополнительные данные из массива чисел и JSON

Класс ZfeFiles_Manager_Mono

Менеджер файлов, связывающихся с ровно одной управляющей записью.

Метод Описание
factory(array $data): ZfeFiles_Agent_Mono Зарегистрировать новый файл по метаданным
createAgents(array $data, string $schemaCode, ZfeFiles_Manageable|AbstractRecord $item): ZfeFiles_Agent_Mono[] Создать агенты по данным файлов и связей
updateAgents(ZfeFiles_Manageable|AbstractRecord $item, ZfeFiles_Schema_Default $schema, ZfeFiles_Agent_Mono[] $agents): void Обновить данные агентов в БД
process(string $modelName, int $itemId, bool $force = false): void Выполнить обработчики для прикрепленных файлов
getAgentsBySchema(ZfeFiles_Manageable|AbstractRecord $item, string $schemaCode): ZfeFiles_Agent_Mono[] Получить агенты соответствующие схеме
getAgentByRelation(int $fileId, string $modelName, string $schemaCode, int $itemId): ?ZfeFiles_Agent_Mono Получить агент по связи файла с управляющей записью
createAgents(array $data, string $schemaCode, ZfeFiles_Manageable|AbstractRecord $item): ZfeFiles_Agent_Mono[] Создать агенты по данным файлов и связей

Класс ZfeFiles_Manager_Multiple

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

Метод Описание
setOptions(array $options): void Установить опциональные параметры менеджера
factory(array $data): ZfeFiles_Agent_Multiple Зарегистрировать новый файл по метаданным
createMediator(ZfeFiles_File_OriginInterface|AbstractRecord $file, string $modelName, string $schemaCode, ?int $itemId = null, array $data = [], bool $autoSave = true): ZfeFiles_MediatorInterface|AbstractRecord Создать медиатор
createAgents(array $data, string $schemaCode, ZfeFiles_Manageable|AbstractRecord $item): ZfeFiles_Agent_Multiple[] Создать агенты по данным файлов и связей
updateAgents(ZfeFiles_Manageable|AbstractRecord $item, ZfeFiles_Schema_Default $schema, ZfeFiles_Agent_Multiple[] $agents): void Обновить данные агентов в БД
process(string $modelName, int $itemId, bool $force = false): void Выполнить обработчики для прикрепленных файлов
getAgentsBySchema(ZfeFiles_Manageable|AbstractRecord $item, string $schemaCode): ZfeFiles_Agent_Multiple[] Получить агенты соответствующие схеме
getAgentByRelation(int $fileId, string $modelName, string $schemaCode, int $itemId): ?ZfeFiles_Agent_Multiple Получить агент по связи файла с управляющей записью
createAgents(array $data, string $schemaCode, ZfeFiles_Manageable|AbstractRecord $item): ZfeFiles_Agent_Multiple[] Создать агенты по данным файлов и связей