从Twig模板名称解析本地文件路径

ojr*_*ore 15 symfony twig

转换此字符串的程序步骤是什么:

AcmeProjectBundle::home.html.twig
Run Code Online (Sandbox Code Playgroud)

进入这个?

/path/Symfony/src/Acme/ProjectBundle/Resources/views/home.html.twig
Run Code Online (Sandbox Code Playgroud)

Mol*_*Man 25

如果要从控制器检索路径,可以使用以下代码:

$parser = $this->container->get('templating.name_parser');
$locator = $this->container->get('templating.locator');

$path = $locator->locate($parser->parse('AcmeProjectBundle::home.html.twig'));
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请查看以下代码:

  • Symfony\Bundle\FrameworkBundle\Templating\TemplateNameParser::parse
  • Symfony\Bundle\FrameworkBundle\Templating\Loader\TemplateLocator::locate