PHP 板


LINE

看板 PHP  RSS
※ 引述《PTTLSboy (阿銫)》之銘言: : <select> : <? for($i=0;$i<$a;$i++){ ?> : <option> (略) </option> : <? } ?> : </select> : 要如何避免以上這種 HTML+PHP 混在一起的寫法呢??? : 因為有不得不用PHP跑迴圈+HTML或JAVASCRIPT的需求 : 感謝!! 寫成物件導向的方式如何,例如: class InputGenerator { static public function select($name, $value, $attr, $options) { $html = '<select name="' . $name . '">'; foreach($options as $key => $option) { $selected = ''; if ($value == $key) { $selected = 'selected'; } $html .= '<option value="' . $key . '" ' . $selected . '>'; $html .= $option; $html .= '</option>'; } $html .= '</select>'; return $html; } } 暫且略過$attr html屬性設定的參數 使用時只要 require class至頁面,然後如以下方式 InputGenerator::select('name', '1', null, $enums); 便可產生所需的下拉選單 不然就是使用framework 像是Zend Framework 的view helper 讓頁面也乾淨許多 且就不必常使用for迴圈產生元素 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.45.92
1F:→ MOONRAKER:這明顯是完全不跟人配合,自己一個人做網站的寫法。我才 10/05 01:00
2F:→ MOONRAKER:不要在php內產生HTML... 10/05 01:00
3F:→ tanson:我想,就是因為是teamwork才更需要使用物件導向 10/05 01:16
4F:→ tanson:當teamwork時,如果可以將code縮減,並讓人清楚的知道每個 10/05 01:18
5F:→ tanson:物件的職責,不僅可以縮短project開發時間,日後也更好維護 10/05 01:19
6F:→ tanson:M大不喜歡由php產生html的目的為何,願聞其詳 10/05 01:21
7F:→ tanson:不要忘了ZF的view helper也是類似做法 10/05 01:23
8F:→ tkdmaf:這叫濫用物件好嗎?物件不是拿來這樣搞的。 10/05 07:46
9F:→ tkdmaf:如果你的SAMPLE CODE的內容是另外讀取HTML頁面的話。 10/05 07:47
10F:→ tkdmaf:我認為那才會是正解。 10/05 07:47
11F:推 B9: 這不算濫用物件啊,就只是個 static method 10/05 08:05
12F:→ B9: 跟設計一個 input_generator_select 是一樣的東西 10/05 08:05
13F:→ B9: static function 10/05 08:06
14F:噓 tkdmaf:我才不管他方法,而是他製造出一種困擾。 10/05 08:06
15F:→ tkdmaf:事實上我連ci的input相關功能都很少用。 10/05 08:08
16F:→ tkdmaf:在基於和網頁設計師的配合上 10/05 08:08
17F:→ tkdmaf:讓他們看得懂HTML而不是製造看不同的功能比較重要。 10/05 08:09
18F:推 B9: 所以你每次寫 html 都這樣嗎? http://pastebay.net/1149249 10/05 08:24
19F:噓 tkdmaf:類似!但我不能先做好htmlentities再放進陣列? 10/05 08:26
20F:→ tkdmaf:還有剛剛洗澡我才想到,form相關的ci是寫成函式。 10/05 08:27
21F:→ tkdmaf:而不是物件。 10/05 08:27
22F:→ tkdmaf:乾乾淨淨的純html顯示是工程師能帶給網編人員的方便。 10/05 08:28
23F:→ tkdmaf:而不是給他們感到困惑。 10/05 08:29
24F:→ tkdmaf:除了必要重覆的php code,我絕少在view中做其他處置。 10/05 08:29
25F:→ mervynW:我看到這種code我會叫過來念一頓. 要抓html&css問題還要 10/05 09:49
26F:→ mervynW:到php code裡找,當大家太閒啊. 10/05 09:50
27F:→ tkdmaf: ^^^^^^^^^^^^XD! 10/05 10:01
28F:→ Gakun:其實我覺得困擾還好 只是在於整個團隊有沒有明確的文件規範 10/05 10:04
29F:→ tkdmaf:但如果都是標準HTML顯示……不用文件規範吧。 10/05 10:11
30F:→ tkdmaf:難不成他的HTML和我的HTML規則不一樣? 10/05 10:11
31F:→ MOONRAKER:這種規範就是允許frontend來改我程式,我一定反彈。 10/05 11:17
32F:→ tkdmaf:如果你的code是讓我無所適從,我會讓你看看砍掉重練的驕傲 10/05 12:02
33F:→ mervynW:我跟frontend討論過, 他們不愛temp的迴圈 10/05 12:08
34F:→ tkdmaf:不愛的話就把迴圈放回controller或是model來處理。 10/05 12:24
35F:→ tkdmaf:變成只剩下變數顯示的純view了。 10/05 12:24
36F:→ tanson:這樣的話跟我的InputGenerator物件差別在哪= =? 10/05 12:38
37F:→ mervynW:不,傳json給forntend, 他們用js組 10/05 13:04
38F:→ tkdmaf:嗯!用js組的好處就是迴圈不吃伺服器資源吧! 10/05 13:31
39F:推 mervynW:還有User看到畫面快,雖然沒有內容 10/05 14:04







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:WOW站內搜尋

TOP