A Symfony bundle for storing and managing application configuration in a database with Doctrine ORM.
SettingsBundle is a Symfony bundle that provides database-centric configuration management for Symfony applications. It allows developers to store and retrieve application settings from a database using Doctrine ORM instead of traditional configuration files. This enables dynamic configuration updates without requiring code deployments and supports scoped settings for different contexts like global or per-user.
Symfony developers who need dynamic, database-driven configuration management in their applications, particularly those building multi-tenant systems or applications requiring user-specific settings.
Developers choose SettingsBundle because it provides a robust, database-backed configuration system that integrates seamlessly with Symfony's ecosystem, offers built-in validation and caching, and supports flexible scoping while maintaining performance through PSR-6 caching.
Database centric Symfony2 configuration management bundle. Global and per-entity settings supported.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Stores settings in a database using Doctrine ORM, allowing live changes without code redeployment, as highlighted in the key features for flexibility.
Supports global, per-user, and customizable scopes, enabling multi-tenant or user-specific configurations, demonstrated in the quick usage examples.
Integrates with Symfony Form Component to validate setting values, ensuring data integrity and reducing errors, as noted in the features list.
Implements PSR-6 caching to minimize database queries for frequently accessed settings, improving speed as described in the features.
Provides Twig extensions and container services for seamless use in controllers and templates, reducing boilerplate code as shown in the examples.
Tightly coupled with Symfony and Doctrine ORM, limiting portability to other frameworks or data layers, which is a core dependency.
Introduces database schemas and migrations for settings, adding complexity compared to file-based configs, as seen in the installation documentation.
Major version upgrades require migration efforts, as indicated in the UPGRADE.md file, which can disrupt projects and add maintenance burden.
Only offers PHP serialize and JSON out-of-the-box, which may not cover all data types without custom extensions, as admitted in the features list.