W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Twig是一個靈活,快速,安全的PHP模板語言。它將模板編譯成經(jīng)過優(yōu)化的原始PHP代碼。Twig擁有一個Sandbox模型來檢測不可信的模板代碼。Twig由一個靈活的詞法分析器和語法分析器組成,可以讓開發(fā)人員定義自己的標簽,過濾器并創(chuàng)建自己的DSL。出于很多大型框架(比如symfony)都默認的包含了twig模板引擎,我這兒也簡單的介紹下,怎么在Idea framework中使用twig。
1.Composer安裝twig
composer require twig/twig:~1.24.1 //當前最新版
2.公共控制器加載twig
<?php
/**
* 前臺公共控制器
*/
namespace app\home\controller;
/**
* Class Common
* @package app\home\controller
*/
class Common
{
/**
* 模板文件加載
* @param [type] $file 模板文件
* @return [type] [description]
*/
public function display($file)
{
\Twig_Autoloader::register();
$loader = new \Twig_Loader_Filesystem(APP_PATH . MODULE . '/view');
$twig = new \Twig_Environment($loader, array(
'cache' => APP_PATH . '/cache',
));
$template=$twig->loadTemplate($file);
$template->display($this->assign?$this->assign:'');
}
/**
* 變量參數(shù)綁定
* @param [type] $var 變量
* @param [type] $value 值
* @return [type] [description]
*/
public function assign($var,$value=null)
{
if(is_array($var)) {
foreach($var as $key => $val) {
$this->assign[$key] = $val;
}
} else {
$this->assign[$var] = $value;
}
}
}
3.子控制器使用twig
<?php
/**
* 首頁控制器,繼承公共控制器類
*/
namespace app\home\controller;
class Index extends Common
{
public function say(){
$info='PHPer';
$this->assign('info',$info);
$this->display('default/index/index.html');
}
}
4.模板文件
路徑:application/home/view/default/index/index.html
<!DOCTYPE html>
<html>
<head>
<title>twig</title>
</head>
<body>
你好,{{ info }}
</body>
</html>
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: