Peter Thomassen: Pass-by-Reference vs. Bequemlichkeit

Beitrag lesen

Hallo Forum,

immer noch in PHP an meinem Kundenverwatungs- und Rechnungssystem bastelnd stellt sich mir gerade die Frage, ob ich ressourcenbedacht oder bequem schreiben soll:

Ich habe eine Funktion, in der zwei Datenbankabfragen durchgeführt werden. Das Resultset der ersten wird als Array in $data gespeichert, und by reference einer anderen Variablen, nämlich $this->data zugeordnet.

Anschließend wird $data für die zweite Abfrage neu definiert - das hat zur Folge, dass $this->data sich dabei ebenfalls ändert (Referenzen eben).

Um das zu verhindern, muss ich entweder

  • nach der Verwendung von $data für die erste Abfrage unset($data) durchführen oder
  • keine Referenzen verwenden.

Ersteres kann durch Vergesslichkeit zu Nichte gemacht werden; letzteres ist vor allem bei größeren Datenmengen langsamer (das können schon mal ein paar hundert KB sein, vielleicht später auch mehr).

Ich denke mal, die kleine Verzögerung würde man ohnehin nicht bemerken - oder doch? Wahrscheinlich hat das Fragen und Lesen der (hoffentlich bald existierenden :-)) Antworten schon mehr Zeit in Anspruch genommen, aber egal ...

Was meint ihr?

Danke!
Peter