flysystem (thephpleague/flysystem)
Searching Database…
Что это такое?
Flysystem — это библиотека для работы с файловыми хранилищами на PHP. Она даёт один интерфейс ко многим файловым системам, локальным или удалённым, так что ваш код не привязан к одному конкретному хранилищу.
Это библиотека, которую я подключаю к своему коду, или то, что я разворачиваю?
Это библиотека, а не сервис: ваш PHP-код вызывает её напрямую внутри приложения. Здесь нет интерфейса, нет сервера и нечего запускать отдельно.
Как добавить её в свой проект?
Установите её как пакет Composer (composer require league/flysystem), затем создайте экземпляр Flysystem с адаптером для вашего хранилища — например, локальный диск, S3 или FTP — и работайте с файлами через его API.
Нужно ли что-то ещё, кроме PHP?
Только PHP и Composer; самой библиотеке не нужны база данных или внешний сервис. Адаптерам для облачных хранилищ, естественно, нужны учётные данные этого сервиса.
С какими хранилищами она умеет работать?
Официальные адаптеры покрывают локальный диск, FTP, SFTP, память, AWS S3, AsyncAws S3, Google Cloud Storage, MongoDB GridFS, WebDAV и Zip-архивы. Адаптеры от сообщества добавляют Azure Blob, Dropbox, Google Drive, OneDrive и другие.
Насколько сложно потом поменять хранилище?
Ради этого абстракция и сделана: код, написанный против единого интерфейса Flysystem, продолжит работать, когда вы замените адаптер, скажем, с локального диска на S3.
Помогает ли она с ненадёжными хранилищами или кешированием?
Да, среди вспомогательных адаптеров есть RetryAdapter, FallbackAdapter, LogAdapter и ReadWriteAdapter, плюс Metadata Cache и ленивый адаптер Migration.
Могу ли я работать с zip-архивом как с файловой системой?
Да, ZipArchive входит в список официально поддерживаемых адаптеров, так что zip-файл можно использовать как хранилище через тот же интерфейс.
What are similar projects?
minio, transfer.sh, rclone, laravel-ide-helper, gat, alist, filestash, puter
Which topics is it in?
amazon-s3, dropbox, php-library, google-cloud, cloud-storage, filesystem, laravel, s3, storage, aws, mongodb, php