oliverde8 / comfy-bundle
Add administrable configuration that users/admin can edit on the run.
Installs: 2 811
Dependents: 2
Suggesters: 0
Security: 0
Stars: 4
Watchers: 2
Forks: 2
Open Issues: 1
Requires
- php: >=8.0
- oliverde8/associative-array-simplified: ^1.0
- symfony/form: *
- symfony/framework-bundle: ^5.0|^6.0
This package is auto-updated.
Last update: 2024-10-11 17:14:31 UTC
README
This bundle introduces all the necessary logic in order to save administrable configuration in the database or in any other storage solution.
Configurations are stored by paths which allows them to be grouped when creating an interface to edit them. See Easy Admin integration here
It also allows saving multiple values per config key, these are called scopes. By default there is a default
scope and a scope per locale, locale scopes inherits values of the default scope. Scopes have levels. For example
"French for France" inherits values from "French". So both "French for Canada" and "French for France" can be configured at once.
Each config is a unique service that can be autowired; yes Comfy loves:heart: symfony 4.4+ with it's autowiring.
Usage
Install Bundle
composer require oliverde/comfy-bundle
If you want to use doctrine for storage you will need to install it, if not please refeer to the alternative storage section.
See our getting started guide.
Advance usages
Creating your own scope inheritance tree
Creating your own config type
Validating configs values
To add custom validations you need to create your own config type.
Alternative storage solution
🚧
TODO
Low priority
- Add more basic config types.
- Ideas? Create a ticket.
- Add caching per scope. Do this by creating a layered storage so that when we read we first read on the cacheStorage then the other solution.
- Add documentation.
- How not to use doctrine but alternative solution. This is supported by the code but not documented.
- How to create an admin interface using the servies & forms & permission voters.