实际上在我的项目中,如果用户有请求,我需要在导航栏中显示。为此,我在树枝模板a:
中使用{{ render(controller("AppBundle:TeamRequest:numberRequests")) }}
控制器非常简单,只需执行一个学说请求,并生成一个视图。
但这部分代码很慢......比禁用它要多200ms。
有更好的方法吗?
PS:有人知道什么是Symfony \ Component \ HttpKernel \ EventListerner \ ProfilerListener?因为这部分在主要和次要请求中需要花费大量时间。
非常感谢: - )
感谢答案,我们的想法是提供服务。就我而言,我没有改变它,因为正如你在图中看到的那样,时间的主要部分是调试条,最后,生成它需要几毫秒。
答案 0 :(得分:2)
尝试将此功能移动到服务中。然后在twig中将此服务注册为全局变量。 config.yml:
# Twig Configuration
twig:
globals:
number_requests_service: %your_service_name%
然后在树枝上你可以加载它:
{{ number_request_service.renderSomething }}
如果您需要服务本身的用户请求,请在服务配置中为他们提供request_stack。
答案 1 :(得分:0)
前几天我遇到了同样的问题,我用枝条扩展解决了这个问题,你可以像服务一样创建它并注入你的entityManager来做你的请求并返回一个视图。通过这种方式,Symfony2不会再次加载。