Symfony2 使用缓存将设置存储在数据库中

标签 symfony application-settings

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

我想要什么:

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

可能吗?

最佳答案

您可以实现自己的资源类,实现 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);
}

关于Symfony2 使用缓存将设置存储在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7947057/

相关文章:

symfony - 使用 Symfony2 获取 Twig 模板中的环境名称

ios - 在 iOS 7 中以编程方式应用主题

sharedpreferences - Xamarin Forms Sharedpreferences 交叉

使用 ApplicationSettingsBase 的 C# 设置 - 漫游和通用

symfony - 如何保留实体的先前版本?

php - DateTime() 工作错误

c++ - C++ 应用程序中的持久数据/设置

c# - ApplicationSettingsBase 为自定义集合写入空标签

javascript - 错误 : Void function return value is used

php - FOSUserBundle BCryptPasswordEncoder 加盐