Как внедрить сервис в качестве аргумента в Symfony? - PullRequest
1 голос
/ 29 июня 2019

Как правильно в Symfony переопределить аргумент родительского сервиса, а также добавить к дочерним элементам больше аргументов?Согласно документации, мне нужно использовать «index_N».Но как добавить больше аргументов в дочернюю службу?Например:

config / services.yaml

services: # ...

App\Repository\DoctrineUserRepository:
    parent: App\Repository\BaseDoctrineRepository

    # overrides the public setting of the parent service
    public: false

    # appends the '@app.username_checker' argument to the parent
    # argument list
    arguments: ['@app.username_checker']

App\Repository\DoctrinePostRepository:
    parent: App\Repository\BaseDoctrineRepository

    # overrides the first argument (using the special index_N key)
    arguments:
        index_0: '@doctrine.custom_entity_manager'
        // put here more arguments for the child service

1 Ответ

1 голос
/ 29 июня 2019

Не проверено, но вы пытались использовать «именованные аргументы», как здесь:

# overrides the first argument (using the special index_N key)
# and set named argument $usernameChecker
arguments:
    index_0: '@doctrine.custom_entity_manager'
    $usernameChecker: '@app.username_checker'
...