Php Symfony2用于永久页面请求的组织代码

Php Symfony2用于永久页面请求的组织代码,php,symfony,Php,Symfony,我正在用symfony2编写我的第一个站点,这个站点包含一些用于处理文章和静态页面或联系人页面的捆绑包。我还创建了一个捆绑包(目前仅限后端),用于处理要在站点中显示的广告,但此广告必须在任何前端页面请求中显示,因此我需要了解如何执行必要的代码来检索广告,以便在我捆绑包中的所有前端控制器上显示和传递此信息 你能帮我吗 提前谢谢 罗伯特取决于你把广告放在哪里,但听起来像是一份工作 基本上,您需要编写一个服务,该服务实现获取所需广告的方法,然后在控制器中调用该服务($this->get('servic

我正在用symfony2编写我的第一个站点,这个站点包含一些用于处理文章和静态页面或联系人页面的捆绑包。我还创建了一个捆绑包(目前仅限后端),用于处理要在站点中显示的广告,但此广告必须在任何前端页面请求中显示,因此我需要了解如何执行必要的代码来检索广告,以便在我捆绑包中的所有前端控制器上显示和传递此信息

你能帮我吗

提前谢谢
罗伯特

取决于你把广告放在哪里,但听起来像是一份工作


基本上,您需要编写一个服务,该服务实现获取所需广告的方法,然后在控制器中调用该服务(
$this->get('service_name')

请参见在细枝模板中嵌入控制器。


基本上,如果您想包含一个全局小部件,您必须将其添加到控制器模板继承的父细枝模板中。

谢谢您的回答。广告只是一个例子,我可以有广告,多级菜单,一些跟踪,比如谷歌分析。如果我使用一个服务,在ever controller中,我必须获得适当的服务并使用它,如果我以后想更改此逻辑中的某些内容,我必须更改ever controller中的相关代码,这违反了dry规则。我只需要在一个地方设置页面广告、菜单和其他内容,然后是只设置页面内容的正确控制器。我试图更好地解释自己:同样,我有一个base.html.twig,它对所有前端页面都通用,我需要一个对所有前端页面都通用的基本控制器。等等,为什么更改服务中的逻辑会使您更改所有控制器中的代码?您有一个单一的服务来完成所有的抓取/菜单生成/分析抓取/任何您需要做的工作,在控制器中,您所做的就是调用它。因此,如果必须更改逻辑的某些部分,则它位于单个服务中。如果您需要一个“基本”控制器,您可以编写它,在其中包含所需的代码,然后与其他控制器一起扩展?更改服务中的逻辑不会更改所有控制器中的代码,但是如果我需要在所有页面中添加另一个公共对象,我需要将它添加到所有控制器中。