我开始开发一个基于Sylius的项目,在安装过程之后,我想定制后端仪表板。当Sylius使用服务时,我发现BackendMenuBuilder是一个名为"sylius.menu_builder.backend“的服务。考虑到这一点和一些googling,我在AppBundle/Resources/config中编辑了我的"services.yml“,并放置了以下行:
services:
sylius.menu_builder.backend:
class: AppBundle\Menu\Backend\BackendMenu我在"AppBundle\Menu\Backend“中创建了一个新的类"BackendMenu”,它被称为“默认”Sylius服务。我在第一次尝试中遇到了一些错误,但是在我可以以这种方式覆盖默认服务之后。这样做对吗?对于任何我不想使用默认版本的新服务,应该在"services.yml“中插入这个新参数吗?我想知道这一点,因为我认为在Sylius平台上开发一个中型/大型项目,可能是一个方便的问题。
发布于 2016-12-09 12:56:58
相反,可以覆盖整个服务定义,只需提供您自己的类参数。示例:
parameters:
sylius.menu_builder.backend.class: AppBundle\Menu\Backend\BackendMenu然后,您不需要重新声明所有参数(如果有)。
用ComplierPass - http://symfony.com/doc/current/bundles/override.html#services-configuration做这件事的其他方法
https://stackoverflow.com/questions/41060068
复制相似问题