Псевдоним интерфейса действует как Singleton, хотя в TYPO3 12.4.6 этого не должно быть?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Псевдоним интерфейса действует как Singleton, хотя в TYPO3 12.4.6 этого не должно быть?

Сообщение Anonymous »


У меня есть служба 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) .

Это проблема или я что-то упускаю?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»