Symfony2使用缓存在db中存储设置

时间:2011-10-30 19:00:53

标签: symfony application-settings

我是symfony2框架中的新手,我不知道如何正确存储应用程序设置。

我想要的是什么:

  • 将我的应用程序设置存储在数据库中(需要管理中心)
  • 在symfony缓存系统中缓存此设置(app / cache / dev | prod)
  • 然后轻松获得价值

有可能吗?

1 个答案:

答案 0 :(得分:3)

您可以实现自己的实现ResourceInterface的资源类,并实现自己的实现LoaderInterface的加载器类。

您的加载器必须将参数加载到已配置的ContainerBuilder中作为FileLoader,并将其他名称加载到同一名称空间中。

完成后,您可以覆盖应用程序内核的getContainerLoader方法,以便将加载器添加到现有的加载器中:

protected function getContainerLoader(ContainerInterface $container)
{
    $locator = new FileLocator($this);
    $resolver = new LoaderResolver(array(
        new XmlFileLoader($container, $locator),
        new YamlFileLoader($container, $locator),
        new IniFileLoader($container, $locator),
        new PhpFileLoader($container, $locator),
        new ClosureLoader($container),
        new DatabaseLoader($container),

    ));

    return new DelegatingLoader($resolver);
}