yii2 默认使用PHP 和html 混合的方式来写视图层,但我个人还是喜欢纯模板语言的方式。而且已经非常习惯使用twig的语法,最近想使用yii2进行开发,所以还是选择使用twig视图引擎。
github 已经有人提供了这样的vendor ,可以直接comoser 配置一下进行使用。
composer.json 文件 require 添加 "yiisoft/yii2-twig": "*" 然后 composer update
前往common/config 下 main.php 加上配置
[ 'components' =>
[ 'view' => [
'class' => 'yii\web\View',
'renderers' => [
'tpl' => [
'class' => 'yii\smarty\ViewRenderer',
//'cachePath' => '@runtime/Smarty/cache',
],
'twig' => [
'class' => 'yii\twig\ViewRenderer',
'cachePath' => '@runtime/Twig/cache',
// Array of twig options:
'options' => [
'auto_reload' => true,
],
'globals' => ['html' => '\yii\helpers\Html'],
'uses' => ['yii\bootstrap'],
],
// ...
],
],
],]
其中tpl 的配置是smarty 引擎。如果不使用smarty 可以不配置。接下来就可以去控制器下使用了。
return $this->render('test.twig', ['test' => 'hello,yii']);
github地址:https://github.com/yiisoft/yii2/blob/master/docs/guide/tutorial-template-engines.md