我正在使用CakePHP很長一段時間,並且認爲我對mvc原理有很好的理解。但今天,我遇到了一個小問題,我現在不用如何解決,而堅持mvc。修改Helper或Component的數據庫行 - 哪個更好?
在我的數據庫中,有一張用於表達我的視圖的變體。它很像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()。該怎麼辦?
某些代碼可能? – Wh1T3h4Ck5
還沒有編碼。我還沒有開始編碼。但是我會在我的問題中添加一些僞代碼。 –
我再次修改了這個問題,現在它更短,並解釋一切好一點。我希望這沒關係。 –