https://github.com/rekalogika/file
[READ-ONLY] High-level file abstraction library built on top of Flysystem
https://github.com/rekalogika/file
abstraction download file file-upload filesystem flysystem php s3 symfony upload
Last synced: 2 months ago
JSON representation
[READ-ONLY] High-level file abstraction library built on top of Flysystem
- Host: GitHub
- URL: https://github.com/rekalogika/file
- Owner: rekalogika
- License: mit
- Created: 2023-09-24T05:03:56.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-05-09T11:17:29.000Z (5 months ago)
- Last Synced: 2025-07-13T03:56:39.192Z (3 months ago)
- Topics: abstraction, download, file, file-upload, filesystem, flysystem, php, s3, symfony, upload
- Language: PHP
- Homepage: https://rekalogika.dev/file
- Size: 86.9 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# rekalogika/file
High-level file abstraction library built on top of Flysystem. It lets you work
with file objects in an object-oriented manner. A file object represents a file
in a Flysystem filesystem. It can be a local file or a file in a cloud storage,
the library lets you work with them in the same way.## Features
* Rich, high-level abstraction of files built on top of Flysystem.
* Abstractions for file name and media type (MIME type).
* Caches and stores metadata in a sidecar file. Uniform metadata support across
all filesystems.
* Uses the repository pattern for files.
* Remote façade pattern in accessing metadata. Improves performance with remote
filesystems. Two metadata queries require only one round trip.
* Rich metadata support.
* Option to use lazy-loading proxy for files.
* Support for file derivations.
* Separated contracts and implementation. Useful for enforcing architectural
boundaries. Your domain models don't have to depend on the framework.## Documentation
[rekalogika.dev/file](https://rekalogika.dev/file)
## License
MIT
## Contributing
The `rekalogika/file` repository is a read-only repo split from the main repo.
Issues and pull requests should be submitted to the
[rekalogika/file-src](https://github.com/rekalogika/file-src) monorepo.