[TYPO3-german] Extbase, Object to array?

Dr. Dieter Porth web37p2 at web59550.greatnet-hosting.de
Tue Jun 27 19:38:23 CEST 2017


Hallo Mario,

Leider enthält dein Code-Snippet keine wesentlichen Informationen, 
sondern du versucht das nachzubauen, was TYPO3 nativ tut.

Du hast also eine Abfrage mit dem Repository gemacht und möchtest das 
Ergebnis iterieren, zumindest vermute ich dies

Normalerweise kann du die Suchergebnisse direkt iterieren, ohne sie 
vorab explizit zu konvertieren. Wenn es dann aber sein muss, solltest 
die toArray()-Methode beim Query-Aufruf im Repository verwenden. Dann 
kümmert sich TYPO3 um den Rest - zumindest auf der ersten Ebene.

Die Lazy-Annotation kann manchmal Schwierigkeiten machen, weil plötzlich 
die Objektklassen nicht zur Verfügung stehen und damit entsprechende 
Klassen fehlen.  Ich optimiere meist erst nachträglich mit @lazy.

P.S. Ich persönlich habe die Magie von @lazy nicht wirklich verstanden 
und bin schon zwei Mal auf die Nase gefallen, weil TYPO3 lieber lazy 
blieb statt eine spät benötigte Klasse noch nachzuladen.

Mit besten Grüßen

      Dieter

.


Am 27.06.2017 um 09:27 schrieb Mario T:

> Hallo Liste!
>
> ich versuche gerade verzweifelt Objekte (mit Subobjekten, Lazy 
> Loading) zu Arrays zu "konvertieren". Ich habe es mit einer eigenen 
> Funktion versucht:
>
>  private function objectToArray($obj)
>  {
>    if(is_object($obj)) $obj = (array) $obj;
>    if(is_array($obj)) {
>      $new = array();
>      foreach($obj as $key => $val) {
>        //$new[$key] = $val;
>        $new[$key] = $this->objectToArray($val);
>      }
>    }
>    else $new = $obj;
>    return $new;
> }
>
> Allerdings erhalte ich teilweise (je nachdem welche Objekte ich 
> konvertiere) ein memory_limit-Error (obwohl die Objekte nicht groß 
> sind und das memory_limit deutlich höher eingestellt ist).
>
> Wäre hier der TypeConverter die Lösung? Falls ja, wie setze ich den ein?
>
> Was ich eigentlich machen möchte ist ein vorher/nachher-Vergleich 
> (ähnlich wie sysHistory).
>
> Ich danke Euch!

-- 
----
Dr. Dieter Porth - Web-Entwickler



More information about the TYPO3-german mailing list