2011-10-30 101 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); 
}