我基本上爲我創建的廣告系統創建一個顯示模塊。避免使用面向對象設計的if語句,PHP
我試圖避免以下結構,重複的if語句。
我的直覺告訴我有更聰明的方法來做到這一點,也許與多態?
<?php
class Ad {
public $adState = 'active';
}
class AdWriter {
public function displayAd(Ad $ad, $viewmode = 'visitor') {
if ($viewmode =='visitor') {
if ($adState == 'active') {}
else if ($adState == 'paused') {}
else if ($adState == 'inactive') {}
}
else if ($viewmode = 'owner') {
if ($adState == 'active') {}
else if ($adState == 'paused') {}
else if ($adState == 'inactive') {}
}
else if ($viewmode == 'administrator') {
if ($adState == 'active') {}
else if ($adState == 'paused') {}
else if ($adState == 'inactive') {}
}
}
}
?>
他問了一個更聰明的方法,並且你展示了它。好。 :) – 2011-06-16 11:23:17
這並沒有真正消除任何東西,但?我仍然堅持不斷地檢查各州。 – Poyan 2011-06-16 11:26:14
-1這與我將研究的ifs – Gordon 2011-06-16 11:34:39