martinambroz / settings-bundle
以数据库为中心的Symfony配置管理。支持全局和用户级别的设置。
3.x-dev
2024-01-12 17:18 UTC
Requires
- php: ^7.2|^8.0
- doctrine/orm: ^2.6.3|^2.7|^2.17
- psr/cache: ^1.0|^2.0|^3.0
- symfony/form: ^3.4 || ^4.3 || ^5.0 || ^6.0
- symfony/framework-bundle: ^3.4 || ^4.3 || ^5.0 || ^6.0
Requires (Dev)
- doctrine/doctrine-bundle: ^1.12 || ^2.0
- matthiasnoback/symfony-dependency-injection-test: ^4.1
- mockery/mockery: ^1.3
- nyholm/symfony-bundle-test: ^1.6
- phpunit/phpunit: ^8.5
- polishsymfonycommunity/symfony-mocker-container: ^1.0
- symfony/security-core: ^4.4 || ^5.0 || ^6.0
- symfony/translation: ^4.4 || ^5.0 || ^6.0
- twig/twig: ^2.0 || ^3.0
Suggests
- cache/adapter-bundle: This bundle will help you to add your PSR-6 cache implementations as Symfony services
README
使用Doctrine ORM在数据库中存储配置的Symfony扩展包。
👀 此扩展包之前称为 dmissh/settings-bundle,Packagist的安装说明将保持不变。
特性
- 易于使用(Twig扩展,容器服务)
- 用户级别、全局或全部范围的设置
- 使用Symfony表单组件进行设置验证
- 两种序列化机制:PHP
serialize()和 JSON(+您可以编写自己的) - 设置缓存(PSR-6)
- 快速且可扩展
快速使用示例
Symfony控制器
// 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模板
{# Global setting #} {{ get_setting('some_setting') }} {# => 'value' #} {# User setting #} {{ get_setting('some_user_setting', app.user) }} {# => 'value' #}
更多示例,请参阅通用使用文档。
文档
变更日志、路线图和贡献
请毫不犹豫地报告错误或发送Pull请求。这比任何其他方式更能激励我更好地支持库。
请参阅CHANGELOG.md了解所有重大变更。
从1.0.*升级
确保阅读UPGRADE.md以成功迁移您的应用程序。
许可证
MIT许可证。请参阅LICENSE获取许可证全文。