Zum Inhalt springen

LazyLoadingProxy bei Objektzugriff

Erstellt am 8. März 2018 · 1 Antwort · letzte Antwort am 11. März 2018

Tags: TYPO3 8, Frage

getit ·

Ich möchte von einem gerade über eine Get-Methode von einem Objekt geholten Unterobjekt den Klassennamen erfahren.

$obj = MyNS\Domain\Model\Ansprechpartner
$subObj = $obj->getLebenslage();

Wenn ich mir mit

\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($subObject);

Das Unterobjekt anschaue, bekomme ich als Resultat

MyNS\Domain\Model\Lebenslage prototype persistent entity (uid=1504, pid=1) {
...
}

Also ein korrektes Objekt.

Wenn ich jetzt mir den Klassennamen dieses Objekt holen will - mit

get_class($subOject)

-
bekomme ich
'TYPO3\CMS\Extbase\Persistence\Generic\LazyLoadingProxy'
geliefert.

Normalerweise hat es in einem solchen Fall gereicht, wenn ich vor dem Aufruf von 'get_class()' etwas an dem Objekt gemacht habe, also

$subObject->getUid();

Aber ich bekomme immer nur 'LazyLoadingProxy' geliefert.
Warum??

getit ·

Ich habs rausgefunden:

Einfach:
echo $subObject;

Intern ruft der die __toString() von AbstractDomainObject auf, die dann wiederum eigentlich auch get_class() (und getUid()) aufruft.