gfh151 / yii2-littletwig
此扩展允许将twig页面渲染到PHP布局中
v1.0.0
2016-05-25 11:07 UTC
Requires
- twig/twig: 1.*
- yiisoft/yii2: *
This package is auto-updated.
Last update: 2024-09-13 01:53:13 UTC
README
此扩展允许将twig页面渲染到PHP布局中
安装
安装此扩展的首选方法是通过Composer。
运行以下命令之一:
php composer.phar require --prefer-dist fgh151/yii2-littletwig "*"
或者
"fgh151/yii2-littletwig": "*"
将以下内容添加到你的composer.json
文件的require部分。
使用方法
首先,你需要在控制器中添加trait
class TestController extends Controller { use fgh151\littletwig\TwigTrait ... }
现在你可以渲染twig页面了
public function actionIndex() { return $this->renderTwig('/web/test.twig', ['users' => User::find()->limit(10)->all()], ['Project_Twig_Extension']); }
可用参数:twig页面,变量数组,twig扩展类数组(可选)
Twig扩展
要添加新扩展,你需要创建一个类,例如
class Project_Twig_Extension extends \Twig_Extension { public function getFunctions() { return [ new \Twig_SimpleFunction('TestFunction', function ($p, $p1){ return $p + $p1; }) ]; } public function getName() { return 'project'; } }
在render函数中添加类
return $this->renderTwig('/web/test.twig', [], ['Project_Twig_Extension']);
你可以代替回调写类函数
class Project_Twig_Extension extends \Twig_Extension { public function getFunctions() { return [ new \Twig_SimpleFunction('TestFunction', $this->f()) ]; } public function f($p, $p1) { return $p + $p1; } public function getName() { return 'project'; } }
现在在twig模板中可用的函数是TestFunction
<p>{{ TestFunction(6, 4) }}</p>
它将渲染
<p>10</p>
Twig选项
你可以将参数传递给twig构造函数
$params = [ 'debug' => false, 'charset' => 'UTF-8', 'base_template_class' => 'Twig_Template', 'strict_variables' => false, 'autoescape' => 'html', 'cache' => false, 'auto_reload' => null, 'optimizations' => -1, ]; return $this->renderTwig('/web/test.twig', [], ['Project_Twig_Extension'], $params);
所有参数都是可选的。对于参数详情,请参阅twig文档