Ska*_*Rat 5 php templating-engine twig
我可以像这样为我的项目创建一个Twig扩展
class Functions extends Twig_Extension{
public function getName(){return 'foobar';}
public function getFunctions() {
return array(
'loremipsum' => new \Twig_SimpleFunction('asset', 'Functions::loremipsum')
);
public static function loremipsum($foo) {
return $foo;
}
}
Run Code Online (Sandbox Code Playgroud)
这是有效的,但我想使用构造函数在一些函数中注入一些我需要的数据.
简单地使用'asset'
in Twig_SimpleFunction
将导致PHP尝试执行functonloremipsum()
dec*_*eze 12
public function getFunctions() {
return array(
'foo' => new Twig_Function_Method($this, 'bar');
);
}
public function bar($baz) {
return $this->foo . $baz;
}
Run Code Online (Sandbox Code Playgroud)
查看extend Twig_Function
指定模板函数的所有不同方法的所有不同类.
对于较新的Twig_SimpleFunction
,似乎你可以将任何类型callable
的第二个参数传递给构造函数:
new Twig_SimpleFunction('foo', array($this, 'bar'))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13086 次 |
最近记录: |