Псевдоним интерфейса действует как Singleton, хотя в TYPO3 12.4.6 этого не должно быть? ⇐ Php
-
Anonymous
Псевдоним интерфейса действует как Singleton, хотя в TYPO3 12.4.6 этого не должно быть?
У меня есть служба MyService, расширяющая MyServiceInterface. В Services.yaml я настраиваю:
My\Extension\Domain\Interface\MyServiceInterface: псевдоним: My\Extension\Service\MyService публично: правда Когда я хочу использовать службу, я использую GeneralUtility::makeInstance(MyServiceInterface::class).
MyServiceInterface не расширяет SingletonInterface, поэтому он не должен быть одноэлементным, верно?
Потому что, когда я получаю сервис с помощью GeneralUtility::makeInstance(), он имеет значения, которые были в последний раз, когда я использовал его в том же вызове, и не создает новый объект, как я ожидал .
Эта проблема не возникает, если я пропущу шаг «Интерфейс», поэтому, когда я удаляю конфигурацию из Services.yaml и получаю ее с помощью GeneralUtility::makeInstance(MyService::class) .
Это проблема или я что-то упускаю?
У меня есть служба MyService, расширяющая MyServiceInterface. В Services.yaml я настраиваю:
My\Extension\Domain\Interface\MyServiceInterface: псевдоним: My\Extension\Service\MyService публично: правда Когда я хочу использовать службу, я использую GeneralUtility::makeInstance(MyServiceInterface::class).
MyServiceInterface не расширяет SingletonInterface, поэтому он не должен быть одноэлементным, верно?
Потому что, когда я получаю сервис с помощью GeneralUtility::makeInstance(), он имеет значения, которые были в последний раз, когда я использовал его в том же вызове, и не создает новый объект, как я ожидал .
Эта проблема не возникает, если я пропущу шаг «Интерфейс», поэтому, когда я удаляю конфигурацию из Services.yaml и получаю ее с помощью GeneralUtility::makeInstance(MyService::class) .
Это проблема или я что-то упускаю?
Мобильная версия