Skip to main content

Introduction

Symfony bundle to easily integrate the rekalogika/file framework and related packages within a Symfony application.

Features

  • Works out of the box without configuration.
  • DX improvement, less micro-management of entity-file relations.
  • Requires only a single property in the entity for each associated file.
  • Having said that, there is an option to replicate the file metadata in the entity, and it does so without changing how you work with the files.
  • Trait and abstract class to ease implementing a one-to-many relation between an entity and multiple files.
  • Reads and writes directly into the file properties, even if private. You are free to have business logic in the getters and setters.
  • Doesn't require you to update another property of the entity (lastUpdated?) just to make sure the correct Doctrine events will be fired.
  • Localization. Show strings in the user's language.
  • Adapters for various Symfony components, including HttpFoundation, Form, and Validator.
  • Image resizing filter.
  • Temporary URL generation to files.
  • Mandatory files (not null for file properties). Substitute the file with a null object if it is not found in the storage backend.
  • Lazy loading for files.
  • ZIP download of multiple files.
  • Full-featured FilePond-based file upload form.

Demo

This is the same demo as the official Symfony demo, but adds an image property to the posts using rekalogika/file-bundle:

https://github.com/rekalogika/file-demo

See the last few commits to see how it is done.

License

MIT

Contributing

This framework consists of multiple repositories split from a monorepo. Be sure to submit issues and pull requests to the rekalogika/file-src monorepo.