Skip to content
Oleg Grigoriev edited this page Apr 2, 2016 · 6 revisions

axy\fs\ifs

Абстракция над функциями доступа к файловой системе (PHP).

Documentation in English.

  • Библиотека не требует внешних зависимостей
  • Протестировано на PHP 5.4+, PHP 7, HHVM (Linux), PHP 5.5 (Windows)
  • Установка: composer require axy/fs-ifs
  • Лицензия MIT

Документация

Библиотека повторяет встроенные функции для работы с файлами.

Чем это отличается от непосредственной работы с этими функциями и какой от этого толк:

  • Прикладной код осуществляет доступ к файлам не через глобальные функции, а через объект с определённым интерфейсом. Этот объект легко заменить другой реализацией, подсунуть мок для тестов (который не будет работать с реальной ФС, а хранить всё в памяти), добавить определённые проверки.
  • Вывод WARNING'ов заменён на исключения.
  • Работа с открытым файлом вынесена в отдельный класс.
  • Некоторые результаты структурированы в виде объектов (Stat, MetaData), вместо ассоциативных массивов. Что улучшает автокомплит.
  • Сам список функций и их имена несколько более структурированный.
  • Конкретные реализации могут реализовывать дополнительные возможности (ведение логов, работа с изолированным каталогом, как с целой ФС).

Реализации

Этот пакет определяет только интерфейсы. Конкретные реализации описаны в других пакетах. Например, axy/fs-real - работа с реальной ФС.

Список классов/интерфейсов

  • IFS - функции работы с ФС.
  • IFile - открытый файл.
  • Stat - результат функций типа stat().
  • MetaData - метаданные открытого файла.
  • Исключения.
Clone this wiki locally