Performance- und Stilfrage: Ausgabe global oder per return zusammenbauen?

tomkruse

Erfahrenes Mitglied
Hallo!

Ich überlege mir gerade, wie es besser wäre, meinen Ausgabetext zusammenzusetzen:

Möglichkeit 1) Funktionen wie diese hier werden nacheinander aufgerufen:

Code:
function generateDataTable() {

   $text="<table>";

   //Datenbankabfragen und so weiter ...
   while (...) {
       $text.="<tr>";
       $text.="<td>";
       $text.=$row[spalte1];
       $text.="</td>";
       $text.="</tr>";
       }
    $text.="</table";

    return($text);
    }

Alle Funktionen sind so aufgebaut wie diese Beispielfunktion und die Texte werden der Reihe nach zusammengebaut indem die Funktionen aufgerufen werden und deren Rückgabewerte wieder zu einem Text verknüpft werden.

Alternative:

Code:
function generateDataTable() {

   global $text;

   $text.="<table>";

   //Datenbankabfragen und so weiter ...
   while (...) {
       $text.="<tr>";
       $text.="<td>";
       $text.=$row[spalte1];
       $text.="</td>";
       $text.="</tr>";
       }
    $text.="</table";
    }

Der Text als globale Variable und die einzelnen Funktionen bauen jede ihr Stück dazu. Ist das schneller? Oder gar langsamer als die erste Variante?

Und was ist eigentlich "schöner"?

Ich kann mich wirklich nicht entscheiden ;)

-> oder ist beides Unsinn? Wie könnte man das noch machen?

viele Grüsse

Thomas.
 
schöner finde ich die Rückgabe mit return. So ist die Funktion gekapselt und kümmert sich nicht um seine Umgebung.

Was schneller ist weiss ich nicht.
 
Zurück