【问题标题】:Symfony2 load settings from databaseSymfony2 从数据库加载设置
【发布时间】:2013-09-18 02:05:07
【问题描述】:

我有一个数据库表(原则实体),我用它来存储我的应用程序的一些可编辑设置,例如页面标题、维护模式(开/关)和其他一些东西..

我可以使用实体管理器和存储库正常加载设置,但我认为这不是最好的解决方案...

我的问题是: - 我可以在某个内核事件中只加载一次设置,然后像访问 yml 配置文件中保存的任何其他设置一样访问它们吗?

  • 我怎样才能缓存数据库设置,所以我只会做一个数据库查询,然后在以后的页面请求中,它会使用缓存的值,而不是为每个页面请求做一个数据库查询? (当然,每次更改设置时,我都需要清除该缓存,以便新设置生效)

【问题讨论】:

    标签: php database caching symfony settings


    【解决方案1】:

    LiipDoctrineCacheBundle 提供了一个围绕 Doctrine 的公共缓存 (documentation) 的服务包装器,允许您使用多个缓存驱动程序,如文件系统、apc、memcache...

    我建议从bundle-extensioncompiler-pass 的数据库中加载您的通用容器参数/设置(如维护模式,...)。

    可以在kernel event listener 中加载特定于路由的设置(如页面标题,...)。你可以找到内核事件列表here

    使用教义 postUpdate/postPersist/postRemove listener 更新/使他们的缓存无效。

    【讨论】:

      猜你喜欢
      • 2011-10-19
      • 1970-01-01
      • 2015-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-02
      相关资源
      最近更新 更多