Hi Chris,

danke für die Erläuterungen! Ist mir schon klar mit den verschachtelten
Schleifen. Ich kam nur nicht auf die Idee, dass die nicht nur in der
Action sondern auch im Fluid-Template waren ;)

Konnte das Problem nun umgehen mit dem Alias-Viewhelper, so dass die
Action vom Fluid-Template nur einmal aufgerufen wird.

Grüße,
Till

On 12/19/2014 09:27 AM, Chris Wolff - AERTiCKET AG wrote:
> Hi  Till.
>
> Typo3 hat ein timetracker $timeTracker (hab selbst noch nicht damit 
> gearbeitet aber damit solltest du eigendlich,
> in der lage sein aufrufzeiten zu protokollieren..
>
> und so vielleicht näher an die ursache deines problems herrahnkommen.
>
> Für each schleifen können natürlich ein problem darstellen weil sich die 
> anzahl der operationen exponentionell erhöht.
>
> Wenn du 2 foreach schleifen mit je 10 operationen hast.
>
> Müssen 10*10 = 100 Operationen durchgeführt.
> Wenn eine weitere mit 10 Operationen hinzukommt.
> 10*10*10 = 1000
>
> Meine logik ist hier natürlich stark vereinfacht. (aber ich denke die idee 
> ist verständlich)
>
> Gruss chris
>
> -----Ursprüngliche Nachricht-----
> Von: typo3-german-boun...@lists.typo3.org 
> [mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von 
> g4-l...@tonarchiv.ch
> Gesendet: Donnerstag, 18. Dezember 2014 17:11
> An: 'German TYPO3 Userlist'
> Betreff: [TYPO3-german] PHP Ausführungszeit-Problem bei Array-Zuweisung
>
> Hallo allerseits,
>
> das Problem ist vermutlich nicht T3-spezifisch, aber vielleicht kann mir 
> trotzdem jemand weiter helfen:
>
> In einer Extbase Action-Funktion habe ich folgende Schleife:
>                 $return = array(
>                         'standorts' => array(),
>                         'leistungs' => array(),
>                 );
>                 $hasStandorts = array();
>                 foreach (....) {
>                         foreach ($this->getStandorts() as $standort) {
>                                 $standortUid = $standort->getUid();
>
>                                 [...]
>
>                                  if(...)
>                                        $hasStandorts[$standortUid] = true;
>                         }
>                 }
>
>
>                 foreach ($this->getStandorts() as $standort) {
>                         //echo $standort->getCurrent()->getName();
>                         if (array_key_exists($standort->getUid(),
> $hasStandorts))
>                               $return['standorts'][] = 
> $standort->getCurrent()->getName();
>                 }
>
> Die Funktion bricht wegen Timeouts ab (120sec.).
>
> Offenbar brauchen folgenden Zeilen zuviel Zeit:
>         $hasStandorts[$standortUid] = true; und
>         $return['standorts'][] = $standort->getCurrent()->getName();
>        
> Wenn ich sie auskommentiere, dauert der Aufbau der Seite max. 1 Sekunde.
>
> Es liegt aber auch nicht an $standort->getCurrent()->getName() - wenn ich die 
> Zeile
>         echo $standort->getCurrent()->getName();
> aktiviere, macht dies das Ganze nicht langsamer.
>
> Ist mir alles schleierhaft. Evlt. ein Speicherproblem?
> In anderen Funktionen benutze ich genau die gleichen Zuweisungen, dort ist es 
> aber kein Problem. Allerdings haben diese Funktionen weniger verschachtelte 
> foreach-Schleifen. Kann das irgendwie damit zusammen hängen?
>


_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an