gpt4 book ai didi

symfony - 渲染前检查模板是否存在

转载 作者:行者123 更新时间:2023-12-02 04:01:53 30 4
gpt4 key购买 nike

有没有办法在调用渲染之前检查 Twig 模板是否存在? try catch block 似乎不起作用,至少在开发环境中是这样,而且,我更喜欢检查而不是异常的成本。

该类TwigEngine有一个exists()方法,但没有找到使用示例。

最佳答案

如果配置为默认,保存 Twig 引擎的服务是"template"。

在 Controller 内执行以下操作:

if ( $this->get('templating')->exists('AcmeDemoBundle:Foo:bar.html.twig') ) {
// ...
}

另一种方法是捕获 render() 方法抛出的异常,如下所示:

 try {
$this->get('templating')->render('AcmeDemoBundle:Foo:bar.html.twig')
} catch (\Exception $ex) {
// your conditional code here.
}

在普通 Controller 中...

$this->render('...')

只是...的别名

$this->container->get('templating')->renderResponse($view, $parameters, $response);

...同时...

$this->get('...') 

...是

的别名
$this->container->get('...')

看看Symfony\FrameworkBundle\Controller\Controller .

关于symfony - 渲染前检查模板是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16751401/

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