【发布时间】:2013-07-14 11:26:02
【问题描述】:
我使用 CakePHP 已经有一段时间了,我认为我对 mvc 原理有很好的理解。但是今天,在坚持使用mvc的同时,遇到了一个我现在不知道如何解决的小问题。
在我的数据库中,有一个表格用于显示我的观点的变化。它的工作原理很像 A/B 测试。当显示我的视图时,我需要选择保存在数据库中的一种变体。
所以在我看来,需要有这样的东西:
<?php
$variant = $this->Helper->getVariant();
switch($variant) {
case 'a':
echo "some link or content";
break;
case 'b':
echo "some other content";
break;
}
?>
但是通过访问 getVariant(),选择的变体必须在数据库中更新,视图的数量也必须更新。这就是我不想在 Controller 中使用 getVariant() 的原因,因为它只能在 View 真正需要它时运行。因为逻辑(控制器)和显示(视图)是分开的,所以我无法在控制器中确定是否需要 getVariant()。怎么办?
【问题讨论】:
-
还没有代码。我还没有开始编码。但我会在我的问题中添加一些伪代码。
-
我再次修改了这个问题,现在它更短了,并且更好地解释了一切。我希望这没问题。
标签: php templates cakephp cakephp-helper