SettingsBundle
SettingsBundle copied to clipboard
Database centric Symfony2 configuration management bundle. Global and per-entity settings supported.
SettingsBundle
Bundle for storing configuration with Symfony in database using Doctrine2 ORM.
Features
- Easy-to-use (Twig extension, container service)
- Settings scopes per user, global or all
- Settings validation by using the Symfony Form Component
- 2 serialization mechanisms: PHP
serialize()
and JSON (+ you can write your own) - Settings caching (PSR-6)
- Fast and extensible
Quick usage examples
Symfony controller:
// Global settings
$settingsManager->set('name', 'foo');
$settingsManager->get('name'); // returns 'foo'
// User settings
$settingsManager->get('name', $user); // returns global 'foo'
$settingsManager->set('name', 'bar', $user);
$settingsManager->get('name', $user); // returns 'bar'
Twig template:
{# Global setting #}
{{ get_setting('some_setting') }} {# => 'value' #}
{# User setting #}
{{ get_setting('some_user_setting', app.user) }} {# => 'value' #}
See the general usage documentation for more examples.
Documentation
- Installation
- General usage
- Scopes
- Advanced configuration
- I18n
- Customization
- FAQ
Changelog, Roadmap and contribution
Please, do not hesitate to report bugs or send pull requests. It will help to motivate me to support library better than anything else :)
See CHANGELOG.md for all major changes.
Upgrade from 1.0.*
Make sure to read the UPGRADE.md to successfully migrate your application.
License
The MIT License. For the full text of license, please, see LICENSE