dd

Транзакционная файловая система на PHP

Написано

в

меня всегда волновал вопрос транзакционности файловой системы: почему в базах данных поддержка есть, а в ОС нет? (ну, есть конечно, но этим надо отдельно заниматься и устанавливать)
в работе пару раз сталкивался с ситуациями, когда такой функционал был бы крайне полезен, но в итоге обходился блоками try-catch и чисткой ресурсов при ошибках
а вот около двух недель назад понял, что уже не маленький и наверное смогу сам что-то подобное в жизнь претворить
тут как раз были майские, поэтому я плотно засел за этот проект и вот что вышло: https://github.com/ddruganov/php-transactional-filesystem
в readme и тестах есть руководство по пользованию, но если кратко, то:
1. создаётся экземпляр транзакционной файловой системы
2. работаем с ней как с обычной файловой системой (есть все crud-операции)
3. по итогу зовём commit() (или `rollback()`)
4. готово
пакет поддерживает операции только с простыми файлами и папками, без символических ссылок
тестовые сценарии для коммита будут потихоньку добавляться по мере использования пакета, сейчас там описаны простые частые случаи
кстати, именно тут нашли применение типизированные массивы и пока работал над этим проектом, то нашёл несколько недочётов и исправил их
пошёл дальше заниматься разработкой экосистемы своих сервисов, сейчас со свежей головой можно к ним вернуться наконец-то

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *