2009年4月18日 星期六

Sopily:PHP樣版引擎

Sopily是PHP樣版引擎,是Smarty絕佳的替代品之一。具有下列特點:

  • 在樣版中直接使用PHP語法,不再使用樣版標籤(template tag)
  • 執行過程中完全不用compile
  • 使用和Smarty一樣的方法,像是 caching, assign, assign_by_ref, fetch, display等等
  • 內建Smarty的修飾元(Modifier)和函數(function),並且有三種不同的語法可以使用
  • 擁有最佳的效能

 

PHP是最多人使用的網站語言,而Smarty又是最多人PHP開發者使用者樣版引擎(PHP template Engine)。Smarty也是天空部落使用的樣版引擎,它的特性很多,非常的強。雖然官網的文件不是很好用。

個人本身喜歡用Smarty,對Smarty樣版的標籤也很熟練,但一直都不是很喜歡。因為寫標籤的速度,絕對不會比直接寫PHP語法來得快。曾經有幾次獨立的小型專案是「不」使用Smarty,但是還是依樣版引擎的概念來寫,程式和HTML是分開的。這種作法很快速也很方便,但卻又很想使用Smarty的Modifier(修飾字元)和function。

於是Sopily就是這樣的產品。如果你習慣使用Smarty將程式和HTML分離,卻不喜歡使用Smarty的tag,可以試試這一個哦!

範例

 

主程式: index.php

樣版: index_tpl.php

 

Benchmark:

由memory_get_usage()取得記憶體使用情況;由Apache Benchmark進行抓取的效能測試。測試的程式是由Smarty的Demo程式修改而來。
Methods\template Sopily Template Lite Smarty
Memory (compiled/normal) 707760 747496 992488
Memory (Force Compile) 707760 1345944 1952440
Memory (Cached) 251544 447688 584768
Time per request (Cached) 7.734 12.922 14.891
Time per request (compiled/normal) 37.118 48.438 46.719
因為架構簡單,所以Sopily樣版引擎是最快的套件。

關於Sopily套件