Redjik
Джедай-мастер
https://github.com/Redjik/Filesystem
Для чего это нужно.
1) Убрать собаку при работе с файловой системой
* между file_exists и @fopen много чего может произойти, такую ошибку крайне сложно отловить
* ошибки, происходящие при работе с файловой системой, это исключительные ситуации и обыного E_WARNING чаще всего мало - приходится лепить кучу условий
2) отказ от кучи условий аля is_writeable, is_dir, file_exists, is_file
Возможно излишне много методов, но я попробовал охватить все основные функции.
Большинство вещей можно было посадить на __call, но решил оставить, чтобы написать полноценный phpDoc с типами эксепшенов.
Почти все методы проверял руками, все что в phpDoc прописано в @throws - эти ошибки я смог вызвать.
Обращаю внимание на stat и производные функции filectime и т.п. c ними возникла проблема, выбирал между двумя способами решения.
1) Пренеправление stderr от exec
2) То что в классе
все производные от stat не пишут информацию об ошибке - они только пишет, что произошла ошибка
Нужно:
1) Feedback
2) Написать тесты - если кому не влом, меня после двухдевной копипасты и проверки каждого чиха ручками уже бесит... возможно сам займусь попзже, но если кто-то поможет - буду рад.
3) Подсказать, если не учел какие-то типы ошибок.
Повторяю - класс рассчитан ТОЛЬКО для работы с файловой системой.
Для чего это нужно.
1) Убрать собаку при работе с файловой системой
* между file_exists и @fopen много чего может произойти, такую ошибку крайне сложно отловить
* ошибки, происходящие при работе с файловой системой, это исключительные ситуации и обыного E_WARNING чаще всего мало - приходится лепить кучу условий
2) отказ от кучи условий аля is_writeable, is_dir, file_exists, is_file

Возможно излишне много методов, но я попробовал охватить все основные функции.
Большинство вещей можно было посадить на __call, но решил оставить, чтобы написать полноценный phpDoc с типами эксепшенов.
Почти все методы проверял руками, все что в phpDoc прописано в @throws - эти ошибки я смог вызвать.
Обращаю внимание на stat и производные функции filectime и т.п. c ними возникла проблема, выбирал между двумя способами решения.
1) Пренеправление stderr от exec
2) То что в классе
все производные от stat не пишут информацию об ошибке - они только пишет, что произошла ошибка
Нужно:
1) Feedback
2) Написать тесты - если кому не влом, меня после двухдевной копипасты и проверки каждого чиха ручками уже бесит... возможно сам займусь попзже, но если кто-то поможет - буду рад.
3) Подсказать, если не учел какие-то типы ошибок.
Повторяю - класс рассчитан ТОЛЬКО для работы с файловой системой.