andi_b: warum 'new' per referenz?

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

  1. 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

    1. 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

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      1. 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

  2. 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