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 |