unifik / database-config-bundle
允许从数据库管理Symfony容器的配置
dev-master
2017-09-12 12:34 UTC
Requires
- symfony/symfony: ~2.1
This package is not auto-updated.
Last update: 2024-09-28 14:19:25 UTC
README
注意! 此捆绑包之前被称为FlexyDatabaseConfigBundle。请确保更新您的composer.json项目文件以反映名称更改。
UnifikDatabaseConfigBundle 允许您将捆绑包的配置树和参数存储在数据库表中。这些配置和参数将覆盖在 app/config/config.yml
和 app/config/parameters.yml
文件中定义的配置。
所有配置都使用Symfony的容器缓存机制进行缓存,并且不会击中数据库。
内容
- 安装
- 如何使用
安装
- 将以下内容添加到您的composer.json中
"require": { "unifik/database-config-bundle": "dev-master" }
- 运行composer update
composer update
- 在AppKernel.php中注册捆绑包
public function registerBundles() { new Unifik\DatabaseConfigBundle\UnifikDatabaseConfigBundle(), }
- 在AppKernel.php中扩展getContainerBuilder()方法
use Unifik\DatabaseConfigBundle\DependencyInjection\Compiler\ContainerBuilder; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; ... protected function getContainerBuilder() { return new ContainerBuilder(new ParameterBag($this->getKernelParameters())); }
- 更新数据库模式
app/console doctrine:schema:update --force
如何使用
将配置添加到数据库中
UnifikDatabaseConfigBundle 在名为 container_config
的数据库表中复制捆绑包的配置树。如果您想向数据库表添加配置,您必须首先在 container_extension
表中添加扩展名称。之后,您将必须在 container_config
表中添加配置树中的每个父节点,这些父节点将引导到您需要覆盖的配置。
例如,如果您有以下配置并且想要覆盖 project_title
twig: globals: project_title: My project title
首先,我们必须将 twig
添加到 container_extension
表中
然后,我们在 container_config
表中添加每个引导到 project_title
的节点
将参数添加到数据库中
参数存储在数据库中的 container_parameter
表中。要将参数添加到数据库中,您只需将名称和值添加到表中即可。
清除缓存
由于数据库配置和参数被缓存,每次您希望重新加载来自数据库的配置时,都需要执行 app/console cache:clear
。