默认情况下,Yii 使用 PHP 作为其默认的模板引擎语言,但是,你可以配置 Yii 以扩展的方式支持其他的渲染引擎,比如 Twig 或 smarty等。
组件 view
就是用于渲染视图的。你可以重新配置这个组件的行为以增加一个自定义的模板引擎。
[ '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'], ], // ... ], ], ], ]
在上述的代码中, Smarty 和 Twig 都被配置以让视图文件使用。但是,为了让扩展安装到项目中,你同样需要修改你的 composer.json
文件,如下:
"yiisoft/yii2-smarty": "*", "yiisoft/yii2-twig": "*",
上述代码需要增加到 composer.json
的 require
节中。在做了上述修改,并保存后,你可以运行 composer update --prefer-dist
命令来安装扩展。
对于特定模板引擎的使用详细,请参考其文档:
- Twig guide
- Smarty guide