2011-10-30 65 views
3

在symfony2框架中我是新的,我不知道如何正确存储应用程序设置。Symfony2在缓存数据库中的存储设置

我想要什么:

  • 存储在数据库中我的应用程序设置(需要管理员中心)
  • 使用缓存此设置在symfony的缓存系统(应用程序/缓存的/ dev | PROD)
  • 然后得到值很容易

这可能吗?

回答

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); 
}