A Simple Silex Project (part5)

繼續我的拖稿人生…(飛踢)

最近silex的系列文也不知不覺寫了不少篇,雖然不敢說有多大的功用,不過至少把silex這個好物稍微介紹了一些,所以有興趣的人與其繼續看這種廢文下去,直接動手去寫個一、兩個小玩具出來可能會認識的更快。最後在這邊提一個silex中不是那麼重要但是應該也經常會使用到的元件-Twig

Twig – The flexible, fast, and secure template engine for PHP


說到PHP中比較常出現的template engine,大家可能比較熟悉的是Smarty,不過因為我沒有接觸過smarty或其他的template engine,所以我也沒辦法說出誰好誰不好。不過因為symfony而接觸到的Twig,經過稍微試用之後覺得有不少不錯的設計,就趁這個機會寫個記錄以及自己的試用心得。

通常在網站的設計上,可以間單區分為前端(User Interface)以及後端(Action|Features)的工作。當然,有些人極為強悍,一個人就可以包辦所有的工作,不過先排除這些強者,一般工程師可能還是有自己比較擅長的部份,所以如果能夠讓大家可以在開發過程中不互相影響,能夠同時進行自己的工作?MVC的架構就給予相當不錯的協助,現今許多有名的Framework或多或少都含有MVC的架構在其中,而template engine就是可以提供fontend與backend互動的一個好工具。

Twig支援的功能蠻齊全的,頁面處理常用的功能大多都可以輕易達到,這部份官方的文件就已經說明的很詳細的,如果大家有興趣的話可以直接移駕到官方文件區

程式的部份其實沒什麼特別的,就是設定template的位置以及相關的設定,然後設定好輸入的參數及資料,最後把印出目標的頁面即可。倒是頁面的部份,與一般的寫法有點不同。

不過其實也只是寫法稍微不同而已,一般頁面處理會用到的功能大多都支援(包含程式邏輯&一些頁面會使用到的功能),此外,Twig也同樣有提供Extension Interface,讓開發者可以藉此把自己需要的功能整合進來使用。透過Twig可以讓前、後端的工程師可以各自專注於自己的部份,也提供前端工程師可以輕鬆做到資料處理、過濾等行為。

在silex中預設就有支援Twig的功能,所以整合silex + Twig,可以相當快速開發一些小型專案&prototype,輕巧便捷的組合 :p

2 thoughts on “A Simple Silex Project (part5)

  1. 最近也在学习Silex和Symfony2,之前简单用过Djiango。
    Twig应该是借鉴了Djiango的模板引擎,包括语法、模板继承、区块等。
    感觉使用起来非常方便、自然。

  2. Pingback: jade – Node.JS Template Engine | ! Ferrari.exist()

發表迴響

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

連結到 %s