Re: [請益] PHP、template、迴圈 相關問題

看板PHP作者 (銀色)時間17年前 (2008/04/17 01:23), 編輯推噓5(502)
留言7則, 6人參與, 最新討論串1/3 (看更多)
※ 引述《cleanwind (骨傲風清(掛網))》之銘言: : 我完全不知道要如何在標題打我的問題 囧。 : 我最近正在嘗試一種寫法, : 也就是把 PHP Code 和 html 完完全全的隔開來, : 擁有 Html 的檔案最多最多寫 echo 功能(當然這是可以讓步的 ...)。 身為一種內嵌式語言,其實 PHP 本身是足以撐起樣板引擎的運作, 當然像 Smarty 或其他的樣板引擎套件是有他的優點在, 所以還是看使用習慣而定,沒有絕對性的優與劣。 將 code 與樣板分離是一種很好的概念,但是要適可而止。 誠如 Smarty 也依舊會在 template 中使用迴圈變數, 如果現在要為了把迴圈也拆解出去而大費周章,甚至耗損效能, (將檔案內容 binary 讀入是需要吃 IO 的) 也許就有點本末倒置了。 小弟也有寫一套自己的 mvc, 透過 mvc 在開發新東西的速度真的只有快而已, 因為這樣實在看不是很出來的你的需求為何, 小弟僅提供自己的經驗作為參考。 ※ template 的拆解、code 的黏合,盡量由 programer 來做。 ※ 設計師在設計頁面時,請使用假資料做列表。(其實是一定會用 :P) ※ 每當設計改版時,不要將已經拆卸過的 template 傳回給設計師修改。 由設計師更新手上的原始頁面,再由你建回 template 會比較妥當。 只要 mvc 做的夠好,template 可以拆黏的飛快。 關於 template,在多層架構分離後,小弟的 view register 可以長這樣: $controller->registerView ('list', 'viewClass', 'pageHead;pageBody{login;content};pageTail'); 意思是當檢視為 list 時,template 的 call 法為 -- pageHead -- pageBody -- login -- content -- pageTail 而其中 template 的裡幾乎都是 html, 身為框架的 pageBody 也只需要簡單的一行 …前略 <div class="contentLeft"> <?php $view->callshow(); ?> </div> …後略 就可以自動在 mvc 下乖乖呼叫 register 好的內容 template 而像迴圈在 template 裡的輸出,因為都會先在 model 中就已經將 資料包成 $data 陣列, 所以輸出都類似: <?php for($i=0; $i<$data['size']; $i++) : ?> <span><?php echo $data['t'][$i]; ?></span> <?php endfor; ?> 小弟以前在做 mvc、template 的架構時,也曾經很鑽牛角尖, 一昧的想做極度分離,只留下像 <?=$name?> 的 php 在 html 裡, 但後來漸漸瞭解這已經有些本末倒置了。 XD -- 忽然發覺完全沒有幫到原 po 的問題(汗) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.139.241.83

04/17 01:24, , 1F
結果原 po 自 d 了嗎…囧
04/17 01:24, 1F
※ 編輯: gpmm 來自: 220.139.241.83 (04/17 01:25)

04/17 01:35, , 2F
因為我發現我太鑽牛角尖了 XD 和 Soho 版版主打個招呼XD
04/17 01:35, 2F

04/17 01:58, , 3F
推這篇
04/17 01:58, 3F

04/17 09:24, , 4F
XDD
04/17 09:24, 4F

04/17 11:27, , 5F
推這篇gpmm..XD
04/17 11:27, 5F

04/17 15:04, , 6F
推這篇
04/17 15:04, 6F

04/17 23:57, , 7F
推~
04/17 23:57, 7F
文章代碼(AID): #181ZNzHV (PHP)
文章代碼(AID): #181ZNzHV (PHP)