Re: [請益] 大家會怎麼去避免重複的html程式碼

看板PHP作者 (焦慮哥)時間11年前 (2013/04/04 00:27), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/4 (看更多)
分合的時機先不論,要分要合都還是有些比較好看的作法 "All problems in computer science can be solved by another level of indirection" 要合的話 <?php switch($client){ "deaf": $show_text=true; $show_audio=false; $show_video=true; break; "blind": $show_text=true; $show_audio=true; $show_video=false; break; "dog": $show_text=false; $show_audio=true; $show_video=true; break; } ?> <?php if($show_text): ?> <div>text</div> <?php endif; ?> <?php if($show_audio): ?> <div><embed src="audio.mp3" /></div> <?php endif; ?> <?php if($show_video): ?> <div><embed src="video.mp4" /></div> <?php endif; ?> 這樣會比 <?php if($client=="deaf" || $client=="blind"):?> <div>text</div> <?php endif; ?> <?php if($client=="blind" || $client=="dog"):?> <div><embed src="audio.mp3" /></div> <?php endif; ?> <?php if($client=="deaf" || $client=="dog"):?> <div><embed src="video.mp4" /></div> <?php endif; ?> 好,多加一個間接層,把邏輯複雜但對照起來有意義的東西聚集在一起, 底下只讓跟區塊和跟那個區塊有關係的變數同時出現。 -- 要分的話,以下的作法對view來說可能不適合,但如果是controller/model, 或是不同客戶使用同一個code base來改的話,就比較適合 在這種情境下,每一個版本其實都是某個原始版的分支。沒錯,就是要用VCS, 每個客製化版都從公版branch出來改,公版有任何修正的時候也方便移植回 每個分支。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.221.51.22 ※ 編輯: worry 來自: 61.221.51.22 (04/04 00:27)
文章代碼(AID): #1HN5XPYQ (PHP)
文章代碼(AID): #1HN5XPYQ (PHP)