Php 如何从一个单独的、导入的服务中装饰一个服务。yaml?
我在Symfony 4.4工作,我希望能够通过外部服务来装饰课程。yaml。 我尝试过从services.yaml内部进行装饰,它工作得非常完美,但问题是我需要能够在另一个文件中执行相同的操作,我称之为services_custom.yaml并导入了该文件。 我的导入似乎工作正常(顺便说一句,我还通过在PHP中重写这两个文件进行了测试,得到了相同的结果)。然而,我的班级没有布置。 我显然遗漏了什么,但我不知道是什么。 这是我的服务。yaml:Php 如何从一个单独的、导入的服务中装饰一个服务。yaml?,php,symfony,yaml,Php,Symfony,Yaml,我在Symfony 4.4工作,我希望能够通过外部服务来装饰课程。yaml。 我尝试过从services.yaml内部进行装饰,它工作得非常完美,但问题是我需要能够在另一个文件中执行相同的操作,我称之为services_custom.yaml并导入了该文件。 我的导入似乎工作正常(顺便说一句,我还通过在PHP中重写这两个文件进行了测试,得到了相同的结果)。然而,我的班级没有布置。 我显然遗漏了什么,但我不知道是什么。 这是我的服务。yaml: imports: - { resource:
imports:
- { resource: 'services_custom.yaml'}
parameters:
locale: 'en'
env: '%env(APP_ENV)%'
fallbacks: ['%locale%', 'fr']
secret: '%env(APP_SECRET)%'
services:
_defaults:
autowire: true
autoconfigure: true
public: false
App\:
resource: '../src/*'
exclude: '../src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php,Solutions/lib}'
App\Controller\:
resource: '../src/Controller'
tags: ['controller.service_arguments']
App\EventListener\RequestListener:
autowire: true
tags:
- { name: kernel.event_listener, event: kernel.request, method: onKernelRequest }
App\EventListener\ResponseListener:
autowire: true
tags:
- { name: kernel.event_listener, event: kernel.response, method: onKernelResponse }
App\EventListener\ExceptionListener:
tags:
- { name: kernel.event_listener, event: kernel.exception }
App\Manager\SolutionManager:
public: false
autowire: true
App\DataFixtures\:
resource: '../src/DataFixtures'
tags: ['doctrine.fixture.orm']
# App\Custom\Solutions\woocommercecustom:
# decorates: App\Solutions\woocommerce
# # pass the old service as an argument
# # arguments: ['@App\Custom\Solutions\woocommercecustom.inner']
# decoration_priority: 5
这是我的服务_custom.yaml:
services:
_defaults:
autowire: true
autoconfigure: true
public: false
App\Custom\Solutions\woocommercecustom:
decorates: App\Solutions\woocommerce
decoration_priority: 5
首先处理导入,如果主
服务.yaml
包含相同的服务定义,则会覆盖导入文件中的服务定义。尝试将Custom
或Custom/Solutions
添加到exlude
列表中。应用程序\:资源:'../src/*'排除:'../src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php,Solutions/lib,Custom}感谢您的解决方案成功!!我现在需要处理自定义类不存在的情况。我在考虑一个事件订阅者…?调查一下。