Re: [問題] 不知道版面能夠做成樣板嗎?

看板Web_Design作者 (肯先生)時間17年前 (2008/12/03 16:56), 編輯推噓3(3044)
留言47則, 5人參與, 最新討論串2/11 (看更多)
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

12/03 17:20, , 1F
第一行 " 沒成對喔 -.-a
12/03 17:20, 1F

12/03 18:00, , 2F
smarty我是沒有很深的去研究啦,因為個人覺得沒必要 = =
12/03 18:00, 2F

12/03 18:01, , 3F
照您說的,PHP直接在頁裡用<?=$profile?>不就跟{profile
12/03 18:01, 3F

12/03 18:01, , 4F
}一樣的意思了嗎?
12/03 18:01, 4F

12/03 18:02, , 5F
現在都習慣用"您"了 = = 一時改不過來,看不慣還請見諒.
12/03 18:02, 5F

12/03 18:10, , 6F
你要從負責美編的人, 他的角度去思考, 而非寫程式的.
12/03 18:10, 6F

12/03 18:11, , 7F
簡單說,因為framework可以幫程式設計師很大的忙,所以大多數
12/03 18:11, 7F

12/03 18:11, , 8F
寫程式的人,都願意忽略framework對效能的傷害.
12/03 18:11, 8F

12/03 18:16, , 9F
當然要考慮到負責美編的人,但{}這種方式在一般設計上也
12/03 18:16, 9F

12/03 18:16, , 10F
是沒有的,單用PHP只是把{ }改成<?= ?>而已
12/03 18:16, 10F

12/03 18:17, , 11F
例如 <?php foreach ($rows as $row): ?>
12/03 18:17, 11F

12/03 18:18, , 12F
<?php endforeach; ?>
12/03 18:18, 12F

12/03 18:18, , 13F
和 {foreach from=$rows item=row}
12/03 18:18, 13F

12/03 18:19, , 14F
{/foreach}
12/03 18:19, 14F

12/03 18:20, , 15F
在設計師閱讀上應該是沒有問題,反而<?php ?>一看就知道
12/03 18:20, 15F

12/03 18:20, , 16F
是程式部份的東西不是嗎?
12/03 18:20, 16F

12/03 18:21, , 17F
再者,若設計師真的是看不懂,沒關係,甚至可以把所有要
12/03 18:21, 17F

12/03 18:21, , 18F
在頁面上顯示的訊息直接濃縮到一個變數裡,在頁面裡僅要
12/03 18:21, 18F

12/03 18:22, , 19F
使用<?=$data?>即可,雖說smarty也可以這樣做,但何必再
12/03 18:22, 19F

12/03 18:23, , 20F
加一個smarty在程序上執行呢?個人淺見,沒有惡意,還請
12/03 18:23, 20F

12/03 18:23, , 21F
指教,沒想到一推就推了好幾行,早知道用回的了 @@a
12/03 18:23, 21F

12/03 18:30, , 22F
smarty不全然是這樣.例如show討論區的每一篇留言標題,美編
12/03 18:30, 22F

12/03 18:31, , 23F
希望可以一行淺灰、一行白的視覺效果,如果有用smarty,他自己
12/03 18:31, 23F

12/03 18:31, , 24F
作就可以了,否則,你就必須修改你的程式..if (單數) 淺灰;
12/03 18:31, 24F

12/03 18:32, , 25F
再者,當畫面完全從程式抽離之後,程式會變得很簡單,很好維護.
12/03 18:32, 25F

12/03 18:32, , 26F
然後畫面跟程式各走各的路,不會互相耽誤進度.
12/03 18:32, 26F

12/03 18:33, , 27F
接下來,smarty的cache功能,其實也蠻好用的.
12/03 18:33, 27F

12/03 18:40, , 28F
其實除非機器很差,現在的主機隨便一台有最佳化過都可以同時在
12/03 18:40, 28F

12/03 18:40, , 29F
線個幾千人,效能在現在其實是越來越不是問題了,除非有特別的
12/03 18:40, 29F

12/03 18:41, , 30F
程式執行或轉檔之類的才會真的很重效能,不過那種時候都會用另
12/03 18:41, 30F

12/03 18:41, , 31F
一台主機作處理...也正因為效能越來越不是問題,現在Framework
12/03 18:41, 31F

12/03 18:42, , 32F
也越來越夯了...
12/03 18:42, 32F

12/03 18:45, , 33F
連PHP自己引擎本家的Zend也出了Framework,表示時代也是往這走
12/03 18:45, 33F
※ 編輯: KC73 來自: 122.116.151.252 (12/03 18:51)

12/03 22:38, , 34F
其實用include就可以達到程式與模板分離了,另外其實sma
12/03 22:38, 34F

12/03 22:38, , 35F
rty的cache,當瀏覽器在讀取時,程式不也是要運作嗎?它
12/03 22:38, 35F

12/03 22:39, , 36F
只是不用每次都重新生成一次頁面檔,跟直接include好像
12/03 22:39, 36F

12/03 22:39, , 37F
也沒有很大的分別?
12/03 22:39, 37F

12/03 23:33, , 38F
一般在講 template cache 都是直接cache產完的結果吧?
12/03 23:33, 38F

12/03 23:34, , 39F
把一些動態的結果cache下來變靜態頁面 , 那個差距是非常大的
12/03 23:34, 39F

12/03 23:58, , 40F
PHP 本身就是樣板引擎, 用Smarty很多餘, 無謂的浪費效能
12/03 23:58, 40F

12/04 00:00, , 41F
<?php echo $x;?> vs {$x}, 不管是相容性還是效率都是大勝
12/04 00:00, 41F

12/04 00:01, , 42F
也不用再花時間學smarty的語法, 現在IDE都很強, 按個熱鍵
12/04 00:01, 42F

12/04 00:01, , 43F
<php echo ?> 就幫你生出來了
12/04 00:01, 43F

12/04 00:49, , 44F
{} 這種語法不是只有smarty有 , 各家語言都有類似結構.
12/04 00:49, 44F

12/04 00:50, , 45F
另外 整個頁面充斥 <?php ?> 的狀況下,實在沒有 {} 直覺..:p
12/04 00:50, 45F

12/04 00:51, , 46F
所以在某些狀況下 , {} 其實是比較理想的,還是要因時因地.
12/04 00:51, 46F

12/04 00:53, , 47F
像 jsp 體系有freemarker 也是一樣的工.
12/04 00:53, 47F
文章代碼(AID): #19Dacnfg (Web_Design)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 2 之 11 篇):
文章代碼(AID): #19Dacnfg (Web_Design)