我是新來的MVC和PHP框架,所以請原諒我這個簡單的問題...大切換視圖
我喜歡我的看法,並沒有PHP代碼的很大一部分,但我有一個案例我真的不知道如何正確地做到這一點。
基本上一些對象有20多種不同的狀態,狀態由模型給出。 現在我有一個:
switch($object->getState())
{
case 0:
$sText = '...';
break;
case 1:
$sText = '... on the'.$object->getDate();
break;
...
case 20:
$sText = '...';
break;
}
?>
<img src="<?echo $object->getState()?>.png" alt = "<?echo $sText;?>"
title = "<?echo $sText;?>" />
我怎麼能做到這一點,而不在視圖中40+線PHP的?我不想重複<img>
標籤20次。對我來說,文本應該屬於視圖而不是模型。
也許一個視圖助手將文本分配給狀態?
事實上,但在我的情況下,一些文本將有參數。例如「未打開」和「打開....」這使事情變得複雜。 – 2011-05-27 16:52:09
只需創建另一個變量來處理參數,並在您的動作中添加一個開關以填充它。 – greg0ire 2011-05-27 16:54:03
替代文本具有參數的事實更強烈地向我表明,模型的責任是追蹤。只有模型知道是否<?echo $ object-> getState()?>。png'已經或尚未打開。 – 2011-05-27 17:18:39