controller - 将参数传递给所有 View

标签 controller symfony parameter-passing twig

我想在我的所有 Twig View 上显示用户名/上次连接日期/时间和其他一些信息(它们都从一个常见的 Twig 布局扩展)。

如何在不必将这些参数从每个 Controller 显式传递到每个 View 的情况下实现这一点?

我是否必须创建一个 Twig 扩展,或者调用一个 Controller / Action 来使用 从布局中检索用户名/连接/其他信息?渲染 ?

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

最佳答案

最简单的解决方案是embed controllers从您的模板/布局。但请注意,子请求成本高昂,并且会显着影响性能。如果在某个时候你会注意到你的应用程序的开发版本慢得要命,那么你知道原因可能是每个请求都有几个子请求。

下一个解决方案是 Twig extensions .在大多数情况下,您需要 functions .你可以这样称呼它:

{{ user_info(user) }}

我首先从嵌入 Controller 开始,但我的开发版本达到了我网站上大多数页面在 30 秒内超时的地步。一开始不知道是什么原因,但是一发现就用Twig扩展替换了所有的subrequsts。此后演出恢复正常。

关于controller - 将参数传递给所有 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9858773/

相关文章:

ajax - 为什么 <c :forEach> not working with Ajax request in JSP Spring?

ruby-on-rails - ruby rails : is there a standard helper for minimalistic implementing of create and update actions?

php - 如何在其他 Controller 中假脱机发送电子邮件(在任务中)并发送普通电子邮件?

php - 实体的父 ID 未保存在 SonataAdmin 中的 OneToMany 关系中

Python 的过滤函数参数顺序

c++ - 编译器将 cpu 寄存器中的这种结构传递给函数是否有意义?

node.js - 如何从 Controller /EJS访问应用程序? Express.js

php - 学说一对一关系映射

c# - 我如何将 python 对象作为参数传递给 C# 程序

swift - 带有 UISearchControllerDelegate 和/或 UISearchBarDelegate 和/或 UISearchController 的搜索栏