我是Zend Framework MVC的新手。我喜欢很多关于使用MVC环境的东西,但有时会发现自己在结构上感到困惑。
我有一个简单的任务,我想在我们的网站上标记某些用户来跟踪他们的动作。为此,我在数据库中设置了一个简单的表,并开始在我的_initTracking()函数中编写引导程序。然后我意识到我正在从错误的方向接近这个 - 我希望这是最后一个触发的函数之一,以避免使用标题重定向来查找跟踪条目,并确保所有自动加载的类都存在。我该怎么做呢?是否有“onBeforeRender”类型的功能?如果有,我找不到它。
由于
答案 0 :(得分:1)
我建议使用ZF插件。您可以使用插件的postDispatch()
或dispatchLoopShutdown()
方法跟踪用户的操作,具体取决于您的跟踪需要的细化程度。
关于ZF插件的一些阅读 - http://framework.zend.com/manual/en/zend.controller.plugins.html
关于Zend Framework中的请求生命周期的一篇非常简洁的文章 - http://www.eschrade.com/page/zend-framework-request-lifecycle-4b9a4288。
答案 1 :(得分:0)
结束将其放入布局脚本中。这可能是一种更好的方法,但在我的情况下(拥有所有视图,我希望代码在2种布局下运行),这是最简单的,并实现了我的目标。
答案 2 :(得分:0)
我认为最好的地方是控制器中的postDispatch()挂钩。
查看http://framework.zend.com/manual/en/zend.controller.action.html,特别是有关调度前后的部分。
这适合将您的跟踪代码放在基本控制器中 - 您的操作控制器会将其扩展,将跟踪代码保存在一个位置。