1 回答

TA貢獻(xiàn)1852條經(jīng)驗 獲得超1個贊
你就是這么做的。
如果您要使用多個文件來配置服務(wù),則無法兩次定義相同的服務(wù)。
您的定義需要足夠具體,這樣它們才不會重疊。
如果您要使用廣泛的resource設(shè)置,則需要添加所有相應(yīng)的排除項,以便在不同文件中定義的服務(wù)在此之前不會被定義:
services:
App\:
resource: '../src/*'
exclude:
- '../src/Infrastructure/Symfony/DependencyInjection'
- '../src/Infrastructure/Symfony/Kernel.php'
- '../src/Tests'
- '../src/Messenger'
src/Messenger屬于命名空間的上的服務(wù)App\Messenger可以在不同的文件上獨立定義:
例如這樣的事情:
# messenger_services.yaml
services:
_defaults:
autowire: true # Automatically injects dependencies in your services.
autoconfigure: true # Automatically registers your services as commands, event subscribers, etc.
public: false
App\Messenger\CommandHandler\:
resource: '../../src/Messenger/CommandHandler/*'
tags:
- {name: 'messenger.message_handler', bus: command.bus}
App\Messenger\EventHandler\:
resource: '../../src/Application/EventHandler/*'
tags:
- {name: 'messenger.message_handler', bus: event.bus}
- 1 回答
- 0 關(guān)注
- 122 瀏覽
添加回答
舉報