AOEpeople / TYPO3_Restler

restler (PHP REST-Framework) for TYPO3
GNU General Public License v3.0
30 stars 17 forks source link

[TASK] do not use objectManager for dependency-injection (use objectManager only as fallback when error occurs) #78

Closed soda-2005 closed 1 year ago

soda-2005 commented 1 year ago

Hi, der TYPO3-objectManager ist in TYPO3v11 deprecated und wird mit TYPO3v12 entfernt. Ich hab den Code nun so umgebaut, dass folgendes passiert: Wenn die Extension z.B. einen REST-Controller erzeugen muss, verwendet sie nun nicht mehr den TYPO3-objectManager (um den REST-Controller zu erzeugen - weil das würde einen 'deprecated-log-eintrag' erzeugen), sondern die Extension verwendet nun die "Standard-TYPO3-Dependency-Injection". Wenn das aber fehlschlägt (das kann passieren, wenn ein REST-Controller diese neue "Standard-TYPO3-Dependency-Injection" noch nicht unterstützt, so wird als Fallback dann doch der TYPO3-objectManager (wie bisher) verwendet und es wird ein 'deprecated-log-eintrag' erzeugt, der darauf hinweißt, dass z.B. der REST-Controller angepasst werden muss (damit er eben diese neue "Standard-TYPO3-Dependency-Injection" unterstützt.

Ich hab natürlich getestet, dass die Änderungen funktionieren (und auch dass ein 'deprecated-log-eintrag' erzeugt wird, wenn REST-controller die "Standard-TYPO3-Dependency-Injection" nicht unterstützen (die eft_pim-Controller gehören z.B. dazu).