将参数传递给所有视图

2023-12-01

我想在我的所有 Twig 视图(全部从通用 Twig 布局扩展)上显示用户名/上次连接日期/时间和一些其他信息。

如何实现这一目标,而不必将这些参数从每个控制器显式传递到每个视图?

我是否必须创建一个 Twig 扩展,或者调用一个控制器/操作来从布局中检索用户名/连接/其他信息render?

如果可能的话,我想要一个更简单的解决方案。


最简单的解决方案是嵌入式控制器从您的模板/布局。但请注意,子请求的成本很高,并且会显着影响性能。如果在某个时候您会注意到应用程序的开发版本慢得要命,那么原因可能是每个请求上都有多个子请求。

下一个解决方案是树枝延伸。大多数情况下你会想要功能。你可以这样称呼它:

{{ user_info(user) }}

我首先从嵌入控制器开始,但我的开发版本达到了网站上大多数页面在 30 秒内超时的程度。我一开始并不知道原因,但当我发现它后,我用 Twig 扩展替换了所有子请求。此后性能恢复正常。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将参数传递给所有视图 的相关文章

随机推荐