【发布时间】:2019-06-11 15:05:14
【问题描述】:
很抱歉问题的标题,但我找不到更合适的表达方式。
我目前正在构建一个基于 CakePHP 的网站,但我不太确定如何解决以下问题。该网站看起来类似于以下样机:
灰色区域是布局的一部分,因为它们的内容在视图之间不会改变。在侧边栏中,我有一组链接到多个模型的广告。我需要控制器逻辑来确定与广告关联的图片。此外,广告列表需要是动态的。我应该把构建侧边栏的逻辑放在哪里?
我想过:
- 将逻辑放入
AppController(beforeFilter/afterFilter) - 问题是我无法使用我需要的控制器逻辑(其他控制器继承自AppController,我不确定如何在那里使用它们)。 - 制作组件 - 是否可以构建依赖控制器的组件?
- 在所有呈现视图的控制器中复制侧边栏代码 - 这对我来说似乎有点愚蠢。
蛋糕的方式是什么?
更新
经过一些阅读和实验,我已经开始重构大部分内容了。
通过在模型中移动构建广告的逻辑(删除检索图片的组件)而不使用requestAction,我获得了最佳性能。它几乎快了三倍,而且代码看起来好多了。
【问题讨论】:
标签: model-view-controller cakephp layout