gpt4 book ai didi

php - 从 php 访问 twig 模板变量

转载 作者:可可西里 更新时间:2023-11-01 13:26:58 25 4
gpt4 key购买 nike

是否可以从 php 访问在 twig 模板中定义的每个变量?

例如:

Template:
...
{% set foo = 'foo' %}
...

来自 PHP:

echo $template->foo

或者类似的东西。

最佳答案

访问每个变量非常麻烦,所以我最后做的是创建一个扩展来保存我需要的数据:

class SampleExtension extends Twig_Extension {
private $foo;

function getName() {
return 'sampleExtension';
}

function getFunctions() {
return array(
'setFoo' => new Twig_Function_Method($this, 'setFoo')
);
}

function setFoo($value) {
$this->foo = $value;
}

function getFoo() {
return $this->foo;
}
}

在我需要数据的类中:

$this->sampleExtension = new SampleExtension();
$twigEnv->addExtension($this->sampleExtension);
...
$html = $twigEnv->render('myTemplate.tpt', ...);

使用这个模板:

...
{{ setFoo('bar') }}
...

渲染后:

echo $this->sampleExtension->getFoo(); // Prints bar

关于php - 从 php 访问 twig 模板变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7932666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com