CakePHP - 为特定布局放置逻辑的最佳位置在哪里?

时间:2011-10-27 12:39:21

标签: php model-view-controller session cakephp

我使用的布局有三个从数据库查询创建的列表。我建议将这些数据放在会话中,以便应用程序不必在每次加载页面时查询数据库。

应用的管理部分不需要此数据,因为它使用不同的布局。在cakePHP中,哪里是放置设置此会话数据的逻辑的最佳位置?

是创建另一个扩展AppController的控制器并设置此会话数据的最佳方法吗?

3 个答案:

答案 0 :(得分:1)

您可以为这3个列表创建元素。最好的方法是使用requestAction and elements。使用元素还可以缓存输出,这总是一个好主意。

答案 1 :(得分:1)

在AppController中的beforeRender()中指定它。如果你在任何控制器中都有beforeRender(),记得调用parent :: beforeRender()

答案 2 :(得分:-1)

我仍然是CakePHP的新手,所以这可能不是最好的方法,但我会有一个模型使用自定义行为来检查会话数据是否已加载并从会话加载数据或数据库取决于它是否已经加载。所以我认为代码可以写成一个行为,然后在必要时使用模型。如果我在这里错了,有人会纠正我。