warum 'new' per referenz?
andi_b
- php
0 Thorsten Steffen0 Tom
0 milky0 Linksetzer
moin,
habe gerade ein wenig gelesen und mir ist aufgefallen, dass man oft instanziierungen per referenz sieht. kann mir evt. jemand den vorteil davon sagen?
danke euch, andi
moin,
habe gerade ein wenig gelesen und mir ist aufgefallen, dass man oft instanziierungen per referenz sieht. kann mir evt. jemand den vorteil davon sagen?
ohne die Referenz erzeugst du ein Objekt, davon eine Kopie und lieferst eine Referenz auf die Kopie zurück. Mit der Referenz sparst du dir die Kopie. Ich kann mich täuschen, bin nicht der absolte OOP-Oberguru, aber das "Orginalobjekt" ist einfach eine unnütze Instanz zuviel.
gruss
Thorsten
Hello,
könntet Ihr bitte noch ein aufs Wesentliche reduziertes Beispiel hier reinposten? OOP in PHP ist mir noch einrotes Tuch, weil ich bisher keine Private Funktionen und Methoden entdecken konnte. Da kann ich dann auch mit einer konsequenten Namensordnung und Arrays in den Datenschnittstellen programmieren...
Liebe Grüße aus http://www.braunschweig.de
Tom
Hello,
könntet Ihr bitte noch ein aufs Wesentliche reduziertes Beispiel hier reinposten?
Was für ein Beispiel interessiert dich? Im Bezug auf das Topic, also Instanzieren per Referenz, oder allgemein das handling von OOP in PHP? Ist mir aus der Fragestellung leider nicht ganz klar
OOP in PHP ist mir noch einrotes Tuch, weil ich bisher keine Private Funktionen und Methoden entdecken konnte. Da kann ich dann auch mit einer konsequenten Namensordnung und Arrays in den Datenschnittstellen programmieren...
Stimmt schon, PHP setzt nicht alle OOP-Konzepte konsequent um, und private Methoden gibt es auch nicht. Trotzdem bietet PHP genug an OOP um nicht auf eine Array-Krücke in gewissen Situation angewiesen sein.
gruss
Thorsten
Hey,
habe gerade ein wenig gelesen und mir ist aufgefallen, dass man oft instanziierungen per referenz sieht. kann mir evt. jemand den vorteil davon sagen?
Hab ich tatsächlich bisher eher selten gesehen; aber gleich mal ausprobiert,
und ich denke so werd' ich das von nun an auch machen!
Der Hintergrund ist folgender: wenn du ein Objekt in PHP4 von Anfang an nur
via Referenz anlegst, dann verbrauchst du letztlich weniger Speicher. Es entstehen
nämlich sonst relativ häufig Kopieen eines Objekts, z.B. schon beim
Instantiieren (also new ohne &), oder auch wenn du ein Objekt als Variable
an eine Fkt. übergibst. Im PHP Manual stehen im Abschnitt über Referenzen
noch ein paar gute Beispiele.
In PHP5 werden Objekte übrigens automatisch als Referenzen angelegt,
allerdings ist es dort fest eingebaut, und noch weniger transparent (aber
dafür zuverlässig).
MsF,
milky