我正在将应用程序从遗留框架转换为 Symfony2。该应用程序的其中一件事是在渲染页面的底角有一条小消息,上面写着
served by appserver3 in 200ms
或类似的。它会根据您所在的应用服务器以及处理请求所花费的时间而变化。appserver 的值在配置文件中设置(但这在很大程度上无关紧要)。
我应该创建一个BaseController
扩展的类型类,Controller
然后让我的所有控制器都扩展它吗?如果是这样,我将如何确保BaseController
始终将responseTime
and添加appServerName
到将传递给我的树枝模板的变量列表中,而不必像这样在每个控制器中手动添加它:
// e.g. src/MyNamespace/MyBundle/Controller/AboutUsController.php
return $this->render('MyNamespaceMyBundle:Default:index.html.twig', array('var1' => $var1, 'appServerName' => $this->getAppServerName(), 'responseTime' => $this->getResponseTime()));
(显然这会假设我在我的 . 中创建了getAppServerName
andgetResponseTime
方法BaseController
。)
这看起来像很多copypasta,而我迁移到 Symfony2 的全部原因是为了避免这种情况:\