Download the PHP package quorae/settings-bundle without Composer
On this page you can find all versions of the php package quorae/settings-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download quorae/settings-bundle
More information about quorae/settings-bundle
Files in quorae/settings-bundle
Package settings-bundle
Short Description YAML-defined runtime settings with DB overrides, encryption, caching, validation, and a Live Component admin UI for Symfony 7+.
License MIT
Informations about the package settings-bundle
QuoraeSettingsBundle
YAML-defined runtime settings with DB overrides, libsodium encryption, cache, validation, and a Live Component admin UI for Symfony 7+.
Features
- YAML definitions — declare settings groups in
config/settings/*.yamlwith typed fields, labels, descriptions, defaults, validation rules, and choices - DB overrides — override any default at runtime via a
setting_overridestable (only stores diffs from defaults) - Encryption — fields marked
encrypted: trueare stored with libsodium authenticated encryption (XSalsa20-Poly1305), key derived fromAPP_SECRETvia HKDF - Env var resolution — defaults can be sourced from environment variables (
env_key:) or files (file://) - Cache — resolved groups are cached via
TagAwareCacheInterfacewith per-request memoization - Validation — explicit constraints from YAML (
NotBlank,Length,Range,Choice,Regex,Type,Email,Url) + implicit shape guards per field type - Live Component editor — drop-in
<twig:QuoraeSettings:Editor group="my_group" />with per-field rendering, masked passwords, reset-to-default, flash messages - CLI commands —
quorae:settings:list,quorae:settings:cache,quorae:settings:clear,quorae:settings:check-encryption - Multi-DB support — repository uses platform-aware upsert (PostgreSQL, MySQL/MariaDB, generic fallback)
Installation
Register the bundle (auto-discovered by Symfony Flex):
Database
Run bin/console doctrine:schema:update --force or create a migration for the setting_overrides table. The entity is mapped via Doctrine ORM attributes.
Cache
The bundle uses cache.app.taggable. Make sure your Symfony app has a tag-aware cache pool configured (default in Symfony 7).
Configuration
Defining a settings group
Create a YAML file in config/settings/:
Field types
text, textarea, choice, boolean, integer, float, password, markdown
Default resolution priority
env_key > file:// > literal default
Reading settings
Admin UI (Live Component)
Requires symfony/ux-live-component and symfony/ux-twig-component.
Templates are overridable via standard Symfony mechanism:
The component has no authorization by default. Protect it in your app:
- Use
#[IsGranted]on your controller - Or extend the component class and add
#[IsGranted('ROLE_ADMIN')]
CLI Commands
License
MIT
All versions of settings-bundle with dependencies
symfony/cache Version ^7.0
symfony/console Version ^7.0
symfony/dependency-injection Version ^7.0
symfony/http-kernel Version ^7.0
symfony/validator Version ^7.0
symfony/yaml Version ^7.0
doctrine/orm Version ^3.0
doctrine/doctrine-bundle Version ^2.12 || ^3.0
psr/log Version ^3.0