如何使用和注册名称空间分支路径吗

编辑该页面

警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 2.6,不再维护。

这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。

如何使用和注册名称空间分支路径吗

通常,当你把一个模板,您将使用MyBundle:子目录:filename.html.twig格式(见创建和使用模板)。

树枝本身也提供了一个功能叫做“名称空间路径”,并支持内置自动为所有的包。

采取以下路径为例:

1 2
{%扩展“AppBundle:: layout.html。树枝“%}{{包括(“AppBundle: Foo: bar.html.twig”)}}

与名称空间路径,下面的工作:

1 2
{%扩展“@App / layout.html。树枝“%}{{包括(“@App / Foo / bar.html.twig”)}}

默认路径是有效的和功能在Symfony。ob娱乐下载

提示

还有一个额外的好处,名称空间语法更快。

注册自己的名称空间

您也可以注册自己的自定义名称空间。假设您正在使用一些第三方库,包括生活在树枝模板供应商/ acme / foo bar /模板。首先,注册一个名称空间目录:

  • YAML
  • XML
  • PHP
1 2 3 4 5
# app / config / config.yml枝:#……道路:“% kernel.root_dir % / . . /供应商/ acme / foo bar /模板”:foo_bar

注册名称空间foo_bar,它指的是供应商/ acme / foo bar /模板目录中。假设有一个文件叫做sidebar.twig在该目录中,您可以使用它轻松地:

1
{{包括(“@foo_bar / sidebar.twig”)}}

多条路径/命名空间

您还可以指定多个路径相同的模板名称空间。路径配置的顺序是非常重要的,因为树枝总是存在加载第一个模板,从第一个配置路径。这个特性可以用作回退机制加载通用模板,当特定的模板不存在。

  • YAML
  • XML
  • PHP
1 2 3 4 5 6 7
# app / config / config.yml枝:#……道路:“% kernel.root_dir % / . . /供应商/ acme /主题/ theme1”:主题“% kernel.root_dir % / . . /供应商/ acme /主题/ theme2”:主题“% kernel.root_dir % / . . /供应商/ acme /主题/普通”:主题

现在,您可以使用相同的@theme名称空间引用任何模板位于前三个目录:

1
{{包括(“@theme / header.twig”)}}
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。