У меня есть приложение Symfony, использующее компонент Serializer.Большинству нормализаторов требуется доступ к текущему пользователю и, следовательно, вводится TokenStorageInterface
.Это работает довольно хорошо, пока я не вставлю SerializerInterface
в контроллер, где нет текущего пользователя (общедоступные страницы, например, форма входа в систему).Вызов метода get для объекта User, например $this->tokenStorage->getToken()->getUser()->getUsername()
, приводит к сообщению об ошибке «Вызов функции-члена getUsername () on string».Это сообщение является правильным, так как getUser()
возвращает строку, если в систему не вошел ни один фактический пользователь.
Оказывается, что Сериализатор создает все нормализаторы, чтобы у пропавшего пользователя возникла проблема.
Чего мне не хватает?Как я могу добавить сервис Serializer без инициализации всех нормализаторов?