簡介php
這是Twig的文檔,Twig是一個快速、安全、靈活的PHP模板引擎。Twig被普遍運用於Web/PHP項目的開發,更多時候是集成到一些PHP框架中,如Symfony 1.x、Symfony 2.x、Zend Framework 2.x、Yii Framework 2.x、Slim Framework 等等,固然你也能夠在不使用任何框架的狀況下直接使用Twig模版引擎來構建你的Web項目。html
若是你接觸過其它的一些基於文本的模版語言,如Smarty、Django或Jinja,你應該有一種賓至如歸的感受。Twig既堅持了PHP的原則又爲模版環境添加了很是有用的功能,對設計師和開發人員都很是友好。她的關鍵特性以下:
shell
快速:Twig把模版編譯成徹底優化的PHP代碼,相比於常規PHP代碼,開銷減小到最低限度。安全
安全:Twig有一個沙盒模式用於評估不可信的模板代碼。這使得Twig能夠被用做那些容許用戶修改模版的應用程序的模版語言。composer
靈活:Twig是由一個靈活的詞法分析器和語法分析器驅動。這容許開發人員定義本身的自定義標籤和過濾器,並建立本身的DSL。框架
前提條件post
Twig至少須要PHP5.2.4來運行。優化
安裝ui
推薦的安裝Twig的方式是經過Composer安裝:spa
composer require "twig/twig:1.*"
要了解更多關於其餘的安裝方法,請閱讀《安裝Twig模版引擎-Twig使用指南》;它也解釋瞭如何安裝Twig的C擴展。
基本API用法
本節爲您提供了一個Twig 的 PHP API 的簡單介紹。
require_once '/path/to/vendor/autoload.php'; $loader = new Twig_Loader_String(); $twig = new Twig_Environment($loader); echo $twig->render('Hello {{ name }}!', array('name' => 'Fabien'));
Twig使用一個加載器(Twig_Loader_String)來定位模板,和一個環境(Twig_Environment)來存儲配置信息。 render() 方法經過傳遞過來的第一個參數來加載模板,經過傳遞過來的第二個參數(也就是變量)來渲染它。做爲模板一般存儲在文件系統中,Twig還配備了一個文件系統加載器:
$loader = new Twig_Loader_Filesystem('/path/to/templates'); $twig = new Twig_Environment($loader, array( 'cache' => '/path/to/compilation_cache', )); echo $twig->render('index.html', array('name' => 'Fabien'));
若是你不使用Composer,你可使用Twig內置的自動加載器:
require_once '/path/to/lib/Twig/Autoloader.php'; Twig_Autoloader::register();
原文標題: Twig模版引擎簡介-Twig使用指南