这个其实,很多人不明白为什么要用它,用还是不是?一直争论不休
特别老牌的一个模板引擎
composer require smarty/smarty
//如果非要使用 php标签(不推荐因为smarty官方就弃用了)
//$this->smarty = new SmartyBC();
$this->smarty = new Smarty();
//设置模板根路径
$this->smarty->setTemplateDir(root_path('view'));
//设置编译目录
$this->smarty->setCompileDir(runtime_path('view_c'));
//默认的{} 会导致模板上的css报错
$this->smarty->setLeftDelimiter('{{');
$this->smarty->setRightDelimiter('}}');
//两边有无空格都不会报错
$this->smarty->auto_literal = false;
重型框架 symfony
的
官网
composer require twig/twig
$config = [
"templates_path"=>root_path('view'), // 模板路径(静态页面)
"compilation_cache_path"=>runtime_path('view_c'), // 缓存路径
"debug"=>true, // debug
"auto_reload"=>true, //根据文件更新时间,自动更新缓存
];
$loader = new FilesystemLoader($config['templates_path']);
$twig = new Environment($loader,[
"cache"=>$config['compilation_cache_path'],
'auto_reload' =>$config['auto_reload'],
"debug"=>$config['debug'],
]);
//添加自定义方法实例
$sayFunction = new TwigFunction("say_name","aaaa");
$twig->addFunction($sayFunction);
echo $twig->render('index.html', ['the' => 'variables', 'go' => 'here']);
laravel框架的
tp自带的,很多人以为tp的模板引擎就是smarty,实际上不是,语法很像,如果你不是用ide开发不觉得会被影响的话,用自带的无疑是最好的