看板 Web_Design 關於我們 聯絡資訊
sorry.. 借這個標題回一下關於 smarty.. 我 smarty 用得很兇, 因為~ 例如 $smarty->assign("profile", $profile $smarty->display("profile.html",$cacheID); 然後我會放好一個 profile.html, 內容很簡單: {debug} {* 修改畫面前, 記得改 $smarty->compile_check = true; $smarty->caching = false; *} 過了幾個小時, 負責作畫面的同事, 就會把 profile.html 生成一個美美的畫面, 偶爾會跟我多要幾個變數。 但是 template 一多, 我也要幫他規劃好, 他就很專注的把畫面作美就好。 當然, 他做好畫面之後, 可能還會跟我講要作些 javascript 的效果, 我再接回 來繼續作。 至於效能問題? web 端的效能向來比較好解決, 快一點的 CPU, 或者多一台 server, 很快就可以有顯著的提昇。 以上和各位分享囉~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.151.252
TonyQ:第一行 " 沒成對喔 -.-a 12/03 17:20
blinkstar:smarty我是沒有很深的去研究啦,因為個人覺得沒必要 = = 12/03 18:00
blinkstar:照您說的,PHP直接在頁裡用<?=$profile?>不就跟{profile 12/03 18:01
blinkstar:}一樣的意思了嗎? 12/03 18:01
blinkstar:現在都習慣用"您"了 = = 一時改不過來,看不慣還請見諒. 12/03 18:02
KC73:你要從負責美編的人, 他的角度去思考, 而非寫程式的. 12/03 18:10
KC73:簡單說,因為framework可以幫程式設計師很大的忙,所以大多數 12/03 18:11
KC73:寫程式的人,都願意忽略framework對效能的傷害. 12/03 18:11
blinkstar:當然要考慮到負責美編的人,但{}這種方式在一般設計上也 12/03 18:16
blinkstar:是沒有的,單用PHP只是把{ }改成<?= ?>而已 12/03 18:16
blinkstar:例如 <?php foreach ($rows as $row): ?> 12/03 18:17
blinkstar:<?php endforeach; ?> 12/03 18:18
blinkstar:和 {foreach from=$rows item=row} 12/03 18:18
blinkstar:{/foreach} 12/03 18:19
blinkstar:在設計師閱讀上應該是沒有問題,反而<?php ?>一看就知道 12/03 18:20
blinkstar:是程式部份的東西不是嗎? 12/03 18:20
blinkstar:再者,若設計師真的是看不懂,沒關係,甚至可以把所有要 12/03 18:21
blinkstar:在頁面上顯示的訊息直接濃縮到一個變數裡,在頁面裡僅要 12/03 18:21
blinkstar:使用<?=$data?>即可,雖說smarty也可以這樣做,但何必再 12/03 18:22
blinkstar:加一個smarty在程序上執行呢?個人淺見,沒有惡意,還請 12/03 18:23
blinkstar:指教,沒想到一推就推了好幾行,早知道用回的了 @@a 12/03 18:23
KC73:smarty不全然是這樣.例如show討論區的每一篇留言標題,美編 12/03 18:30
KC73:希望可以一行淺灰、一行白的視覺效果,如果有用smarty,他自己 12/03 18:31
KC73:作就可以了,否則,你就必須修改你的程式..if (單數) 淺灰; 12/03 18:31
KC73:再者,當畫面完全從程式抽離之後,程式會變得很簡單,很好維護. 12/03 18:32
KC73:然後畫面跟程式各走各的路,不會互相耽誤進度. 12/03 18:32
KC73:接下來,smarty的cache功能,其實也蠻好用的. 12/03 18:33
EAFV:其實除非機器很差,現在的主機隨便一台有最佳化過都可以同時在 12/03 18:40
EAFV:線個幾千人,效能在現在其實是越來越不是問題了,除非有特別的 12/03 18:40
EAFV:程式執行或轉檔之類的才會真的很重效能,不過那種時候都會用另 12/03 18:41
EAFV:一台主機作處理...也正因為效能越來越不是問題,現在Framework 12/03 18:41
EAFV:也越來越夯了... 12/03 18:42
EAFV:連PHP自己引擎本家的Zend也出了Framework,表示時代也是往這走 12/03 18:45
※ 編輯: KC73 來自: 122.116.151.252 (12/03 18:51)
blinkstar:其實用include就可以達到程式與模板分離了,另外其實sma 12/03 22:38
blinkstar:rty的cache,當瀏覽器在讀取時,程式不也是要運作嗎?它 12/03 22:38
blinkstar:只是不用每次都重新生成一次頁面檔,跟直接include好像 12/03 22:39
blinkstar:也沒有很大的分別? 12/03 22:39
TonyQ:一般在講 template cache 都是直接cache產完的結果吧? 12/03 23:33
TonyQ:把一些動態的結果cache下來變靜態頁面 , 那個差距是非常大的 12/03 23:34
chph:PHP 本身就是樣板引擎, 用Smarty很多餘, 無謂的浪費效能 12/03 23:58
chph:<?php echo $x;?> vs {$x}, 不管是相容性還是效率都是大勝 12/04 00:00
chph:也不用再花時間學smarty的語法, 現在IDE都很強, 按個熱鍵 12/04 00:01
chph:<php echo ?> 就幫你生出來了 12/04 00:01
TonyQ: {} 這種語法不是只有smarty有 , 各家語言都有類似結構. 12/04 00:49
TonyQ:另外 整個頁面充斥 <?php ?> 的狀況下,實在沒有 {} 直覺..:p 12/04 00:50
TonyQ:所以在某些狀況下 , {} 其實是比較理想的,還是要因時因地. 12/04 00:51
TonyQ:像 jsp 體系有freemarker 也是一樣的工. 12/04 00:53