A Symfony bundle for managing runtime-modifiable configuration settings stored in a database.
CraueConfigBundle is a Symfony bundle that provides a service to manage application settings stored in a database, making them accessible throughout a Symfony project. Unlike static configuration files, these settings can be modified at runtime, such as by an administrator, offering dynamic configuration management. It solves the problem of needing editable configuration values without redeploying code.
Symfony developers and administrators who need to manage application settings that must be changeable at runtime, such as site titles, feature toggles, or API keys, without modifying code or configuration files.
Developers choose CraueConfigBundle for its seamless integration with Symfony's service container and Doctrine, providing a database-backed, runtime-editable configuration system with built-in admin forms, Twig support, and caching options, avoiding the limitations of static parameter files.
Database-stored settings made available via a service for your Symfony project.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a built-in web form for administrators to modify settings at runtime without redeploying code, as shown in the optional routing and form setup with customizable access control.
Offers a Config service autowireable in controllers and a Twig extension for direct template access, ensuring settings are easily accessible throughout the application without boilerplate code.
Supports integration with DoctrineCacheBundle or Symfony Cache component to cache settings and reduce database queries, with clear configuration steps outlined in the README.
Allows extending the base Setting entity to add custom fields like comments or change data types, enabling tailored configuration storage as demonstrated in the customization examples.
New settings must be inserted directly into the database via migrations, as the bundle explicitly states it doesn't support runtime creation, adding administrative overhead and potential for errors.
Enabling caching requires additional configuration with external bundles or components, such as defining cache providers or pools, which can be cumbersome and prone to misconfiguration.
By default, all configuration reads hit the database, which can become a bottleneck in high-traffic applications if caching is not enabled or improperly managed, impacting scalability.