unifik/database-config-bundle

允许从数据库管理Symfony容器的配置

安装次数: 12,689

依赖: 1

建议: 0

安全: 0

星级: 31

关注者: 14

分支: 19

开放问题: 13

类型:symfony-bundle

dev-master 2017-09-12 12:34 UTC

This package is not auto-updated.

Last update: 2024-09-28 14:19:25 UTC


README

注意! 此捆绑包之前被称为FlexyDatabaseConfigBundle。请确保更新您的composer.json项目文件以反映名称更改。

UnifikDatabaseConfigBundle 允许您将捆绑包的配置树和参数存储在数据库表中。这些配置和参数将覆盖在 app/config/config.ymlapp/config/parameters.yml 文件中定义的配置。

所有配置都使用Symfony的容器缓存机制进行缓存,并且不会击中数据库。

内容

  • 安装
  • 如何使用

安装

  1. 将以下内容添加到您的composer.json中
    "require": {
        "unifik/database-config-bundle": "dev-master"
    }
  1. 运行composer update
composer update
  1. 在AppKernel.php中注册捆绑包
public function registerBundles()
{
        new Unifik\DatabaseConfigBundle\UnifikDatabaseConfigBundle(),
}
  1. 在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()));
}
  1. 更新数据库模式
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