我是Zend的新手并且还在学习。
我需要从数据库中读取一些配置数据并将其保存在会话中。我想在所有页面中都有这些数据,因此我需要拦截所有请求并检查会话是否包含所需数据,如果不是,我将从数据库中获取它并将其放入会话中。
我想知道放入代码的最佳位置。在Java中,我们曾经在过滤器中检查过。我在这里猜测我必须把它放在一个动作助手中。只想查看我有哪些选项以及最佳做法。
感谢您的任何建议。
答案 0 :(得分:1)
出于此目的,您可以使用Zend_Registry单例类来提供来自ZF项目的每个点的会话数据的可访问性。为了存储会话数据,还有几个类,例如, Zend_Session类
答案 1 :(得分:0)
我肯定会把它放在一个Controller Plugin类中。例如
Application_Controllerplugins_SessConfig extends Zend_Controller_Plugin_Abstract
通过这种方式,您可以及早捕获请求,并根据数据执行任何操作... 这是我在SSL路由中的另一个答案,但插件类的逻辑是相同的:How to implement SSL in Zend MVC
答案 2 :(得分:0)
我即将实施一个类似的解决方案,即应用程序实例(将向各个客户推出)需要某些设置 - 管理员可以通过cms编辑数据,从而将其存储在数据库中。然后我将检索并将这些设置[作为子对象]添加到配置类(它又被添加到引导程序中的注册表中。这对我来说似乎是最干净的解决方案,因为所有配置数据都存储在一个地方,无论他们的来源是ini文件还是db。
我有兴趣听听关于如何做到这一点的其他意见。
rob ganly