Php 动态可解析的细枝名称空间
我有一个Symfony应用程序,可以处理来自多个域的请求。在这些域上,客户能够创建可在其CMS模块中使用的自定义细枝模板。这些模板保存到Php 动态可解析的细枝名称空间,php,symfony,twig,symfony4,Php,Symfony,Twig,Symfony4,我有一个Symfony应用程序,可以处理来自多个域的请求。在这些域上,客户能够创建可在其CMS模块中使用的自定义细枝模板。这些模板保存到/path/to/ftp/example.com/cms\u templates/目录中 在Symfony的早期版本中,呈现这些模板不是问题。在mydomain.com/page_one上的传入请求中,细枝模板的绝对路径可以解析为,例如/path/to/ftp/mydomain.com/cms_templates/page_one.html.Twig。已验证模板
/path/to/ftp/example.com/cms\u templates/
目录中
在Symfony的早期版本中,呈现这些模板不是问题。在mydomain.com/page_one上的传入请求中,细枝模板的绝对路径可以解析为,例如/path/to/ftp/mydomain.com/cms_templates/page_one.html.Twig
。已验证模板的存在并呈现模板。但是,在Symfony 4中,支持绝对模板路径
我在twig.path
中想到了一个名为“custom”的函数,它指向/path/to/ftp
,然后用@custom/mydomain.com/cms\u templates/page\u one.html.twig
引用模板。问题是,/path/to/ftp
不仅包含模板,还包含其他文件的加载。TemplateCacheWarmer正在遍历所有这些文件
我实际上在寻找的是一种注册细枝名称空间的方法,比如说动态解析的@cms
,这样我就可以在其中插入当前请求的主机名。然后我就可以使用@cms\page\u one.html.twig
引用模板。这些模板不需要缓存预热
如何实现这样的功能?我在细枝文档上看了看,但看起来我就是搞不懂
TLDR当domain.com在不同请求之间存在差异时,如何让Symfony/Twig将模板@foo\template.html.Twig
解析为/path/to/domain.com/templates/template.html.Twig