為什麼這篇MVC 迴圈鄉民發文收入到精華區:因為在MVC 迴圈這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者tkdmaf (皮皮快跑)看板PHP標題Re: [請益] for迴圈table練習時間Sun O...
※ 引述《ccg ()》之銘言:
: 最近剛學php學到for迴圈,看到在設成table的一範例為
: <?php
: echo "<table border='1'>";
: for($i=1; $i<=10; $i++){
: if($i % 2 !=0){
: echo "<tr><td width='50'>{$i}</td>";
: }else{
: echo "<td width='50'>{$i}</td></tr>";
: }
: }
: echo "</table>";
: ?>
:
: 請問為何echo在一開頭就要出現呢?
: 為何出現這麼多echo啊?? 冏>
: 謝謝
讓我們轉換一個型式來呈現看看如何?(view)
<table border="1">
<tr>
<?php for($i = 1;$i <= 10;$i++):?>
<td width="50"><?echo $i?></td> (這裡的echo才是必要性的輸出)
<?php if($i % 2 == 0 && $i != 10):?>
</tr><tr>
<?php endif?>
<?php endfor?>
</tr>
</table>
可能的話注意幾個小細節:
1.如果迴圈的量是非固定值,則可將此量值帶變數。
2.如果是foreach解資料陣列,在那之前可能就需要多塞一個序列值給每一筆資料。
3.有時候有人會堅持連for、if之類的都應該在程式端執行,這我沒什麼太大的意見。
不過這樣的做法可能會需要第二、第三個view檔案。
4.初心者聽不懂很正常。因為這是樣版式的做法。也就是說,其實這個樣版最終是
被希望給主程式載入的view檔案。雖然並沒有限制說他就一定是個view。
但如果你很期望先拿他檔一般程式來使用,要不就是主程式位於你開始輸出端的
最上端,要不就乾脆你的主程式是另一個檔案,你可以把主程式require進來。
5.MVC並不是什麼難以理解的架構,就算一開始不懂也可以嚐試去了解看看。
即使最初會變成「CM」「V(顯示)」分離,至少你讓V先離家出走你就邁進很多步。
額外的小技巧提供給對VIEW這個功能有想要自己寫寫看的朋友們。
這是關於SHORT TAG的做法。
有人之前說「<?=」這樣的東西萬一PHP設定關閉了SHORT TAG的話不就不能用?
(<?= 就是 <?php echo)
如果你有嚐試用eval去寫個view出來的話。
那就在eval之前,用str_replace將「<?=」變成「<?php echo」就行了。
之前看到ci強制將「<?=」給開放的原因就是因為他做了這件事。
可不是用ini_set去強制改掉php設定檔。
正所謂上有政策下有對策,程式設計師的工作就是拼命找對策!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.104.130.91