Twig模板引擎用法入門教程
本文實(shí)例講述了Twig模板引擎用法。分享給大家供大家參考,具體如下:
介紹
Twig是一個(gè)靈活、高效并且安全的PHP模板引擎。
如果你使用過Smarty、Django或者Jinja這類基于文本的模板引擎的話,那么你會(huì)覺得Twig是很自然而然的事情。Twig嚴(yán)格遵守了PHP的信念,同時(shí)增加了在模板環(huán)境中很有用的函數(shù),這些做法使得Twig不論是對(duì)設(shè)計(jì)師還是開發(fā)人員,都是非常友好的。
Twig的主要特征有:
高效:Twig將模板編譯成了優(yōu)化了的PHP文件,與原生的PHP代碼比較而言,性能損耗非常小。
安全:Twig使用沙箱(sandbox)模式去運(yùn)行模板中不被信任的代碼。這使得我們可以選擇Twig作為那些允許用戶修改模板的應(yīng)用的模板引擎。
靈活:Twig具有靈活的語(yǔ)法分析器和語(yǔ)法解析器,它允許開發(fā)人員定義自己的標(biāo)簽(tags)和過濾器(filters),并且創(chuàng)建自己的領(lǐng)域特定語(yǔ)言(DSL,domain specific language)。
必要條件
Twig需要的最低PHP版本為5.2.4。
安裝
安裝Twig有多種方法。如果你不能確定使用哪一種,那么直接下載壓縮包即可。
壓縮包安裝
從下載頁(yè)面下載最新的壓縮包
解壓
將解壓出來的文件放置到項(xiàng)目可以訪問到的地方。
安裝開發(fā)版本
安裝Subversion或者Git
SVN地址:http://svn.twig-project.org/trunk/, git地址git://github.com/fabpot/Twig.git
使用PEAR包安裝
安裝PEAR
pearchannel-discoverpear.twig-project.org
pearinstalltwig/Twig (或者pearinstalltwig/Twig-beta)
基礎(chǔ)API用法
本節(jié)將給出一個(gè)Twig的PHP API的簡(jiǎn)單介紹
使用Twig的第一步是注冊(cè)它的autoloader:
require_once '/path/to/lib/Twig/Autoloader.php'; Twig_Autoloader::register();
記得用Twig所在路徑代替/path/to/lib
注:Twig在類的命名上遵守PEAR的約定,這意味著你可以在自己編寫的autoloader中整合對(duì)Twig的類的加載。
$loader = new Twig_Loader_String(); $twig = new Twig_Environment($loader); $template = $twig->loadTemplate('Hello {{ name }}!'); $template->display(array('name' => 'Fabien'));
Twig使用加載器(Twig_Loader_String)來定位模板,同時(shí)使用環(huán)境(Twig_Environment)來儲(chǔ)存配置信息。
loadTemplate()方法使用加載器設(shè)定的信息來定位和加載模板,同時(shí)返回一個(gè)模板對(duì)象(Twig_Template),該對(duì)象可以使用display()方法來進(jìn)行渲染。
Twig也可以使用文件系統(tǒng)加載器(filesystem loader):
$loader = new Twig_Loader_Filesystem('/path/to/templates'); $twig = new Twig_Environment($loader, array( 'cache' => '/path/to/compilation_cache', )); $template = $twig->loadTemplate('index.html');
更多關(guān)于PHP模板相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP模板技術(shù)總結(jié)》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
thinkPHP基于ajax實(shí)現(xiàn)的菜單與分頁(yè)示例
這篇文章主要介紹了thinkPHP基于ajax實(shí)現(xiàn)的菜單與分頁(yè),結(jié)合實(shí)例形式分析了thinkPHP基于ajax無刷新交互實(shí)現(xiàn)菜單及分頁(yè)功能的相關(guān)技巧與注意事項(xiàng),需要的朋友可以參考下2016-07-07Laravel框架實(shí)現(xiàn)利用監(jiān)聽器進(jìn)行sql語(yǔ)句記錄功能
這篇文章主要介紹了Laravel框架實(shí)現(xiàn)利用監(jiān)聽器進(jìn)行sql語(yǔ)句記錄功能,結(jié)合實(shí)例形式分析了Laravel框架監(jiān)聽器的創(chuàng)建、引入以及使用監(jiān)聽器記錄sql語(yǔ)句的相關(guān)操作技巧,需要的朋友可以參考下2018-06-06詳細(xì)解讀PHP的Yii框架中登陸功能的實(shí)現(xiàn)
這篇文章主要介紹了詳細(xì)解讀PHP的Yii框架中登陸功能的實(shí)現(xiàn),包括通過cookie實(shí)現(xiàn)自動(dòng)登錄的功能,需要的朋友可以參考下2015-08-08Codeigniter的一些優(yōu)秀特性總結(jié)
本文總結(jié)了一下Codeigniter的一些優(yōu)秀特性,算是個(gè)人的一些心得分享,推薦給大家。2015-01-01PHP去掉json字符串中的反斜杠\及去掉雙引號(hào)前的反斜杠
這篇文章主要介紹了PHP去掉json字符串中的反斜杠\及去掉雙引號(hào)前的反斜杠的相關(guān)資料,需要的朋友可以參考下2015-09-09