Внедрить Logger в метод контроллера при вызове с Ajax - PullRequest
0 голосов
/ 08 октября 2019

Вот подпись метода в контроллере:

public function myAction(Request $request, SessionInterface $session, LoggerInterface $logger)

Это то, что я написал в services.yml:

AppBundle\Controller\:
    resource: '../../Controller'
    public: true
    tags: ['controller.service_arguments']

Обычно все параметры (запрос, сессия)и logger) автоматически вводятся.

Я называю это действие контроллера, используя Ajax, но есть проблема для logger (запрос и сессия хорошо внедрены):

    Controller myAction requires that you provide a value for the "$logger" argument

Это происходит дляодин метод только потому, что ajax-вызовы некоторых других методов контроллера работают отлично.

Единственное отличие, которое я вижу при использовании некоторых инструментов отладки, состоит в том, что тот, который не работает, имеет соединение: близко, хотя другие имеют соединение: keep-alive.

Я не понимаю, почему это делается по-другому.

Когда я стираю параметр LoggerInterface, он работает хорошо, и соединение остается активным, как и другие.

Можете ли вы помочь?

Платформа Symfony 3

services:
_defaults:
    # automatically injects dependencies in your services
    autowire: true
    # automatically registers your services as commands, event subscribers, etc.
    autoconfigure: true
    # this means you cannot fetch services directly from the container via $container->get()
    # if you need to do this, you can override this setting on individual services
    public: false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...