Objektbenutzung durch/mit Referenzen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Objektbenutzung durch/mit Referenzen

    Hallo,

    ich hab mir jetzt div. Manuals zur Referenzbenutzung reingezogen, aber leider
    waren die angeführten Beispiele immer etwas mau.

    Nun zu meinem Problem. Ich suche eine Möglichkeit um folgendes Skriptkonstrukt
    etwas Ressourcensparender zu machen in dem ich aus zwei Objektaufrufen einen
    mache, mittels Referenzen.

    PHP-Code:
    $x = new register("adressbuch"$handle["anschrift"]);
    $y = new register("adressbuch" ,$x->GetSelectedEntry());

    print_r($y->GetPreview()); 
    Da die durch eine Referenz entestehende Variable ja auf den selben Inhalt verweist wie die Ausgangsvariable, suche ich eine Möglichkeit das Objekt zu kopieren bevor der zweite Parameter ($handle["anschrift"] bzw. $x->GetSelectedEntry() ) übergeben wird.
    Ist das vielleicht in einer Schleife möglich?

    Ich hoffe ich hab euch jetzt nicht verwirrt.

    MfG rogge

  • #2
    ich nehme mal an das du einen constructor in deiner classe verwendest?!?!

    wenn dem so ist, dann solltest du nur die classe instanzieren und dann die eigenschaft für anschrift über einen "geter" setzen
    also zb so:

    PHP-Code:
    $x = new register("adressbuch");
    $x->setAdress($handle["anschrift"]); 
    und in der class dann zb so...

    PHP-Code:
    ...
    public function 
    setAdress($addi) {
        
    $this->adress $addi;
    }
    ... 
    dann kannst du vorm setzen der Adresse dein object referenzieren oder auch clonen

    Kommentar


    • #3
      Ähm... vielleicht solltest du erstmal kurz beschreiben, was dein Code eigentlich machen soll - weil das sieht aktuell eher nach gewolltem aber nicht gekonntem OOP aus oO

      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
      Wie man Fragen richtig stellt

      Kommentar


      • #4
        Ja ich nutze den Constructor und diesem übergebe ich i.d.R.
        auch die nötigen Parameter (2) da die meist von mehreren Funktionen
        genutzt/benötigt werden.

        Mein Problem ich hab ich jetzt wie folgt gelöst:

        PHP-Code:
        public function ExistCheck() {
                
                
        $this->param $this->GetSelectedEntry();
            
        return 
        $this->GetPreview();
        }

        //---

        $x = new register("adressbuch"$handle["anschrift"]);

        print_r($x->ExistCheck()); 
        $this->param ist in diesem Fall die Variable, die vom Constructor den zweiten Wert
        zugewiesen bekommt (also $handle["anschrift"]). So nutzt $this->GetSelectedEntry();
        den Wert der vom Constuctor kam und überschreibt ihn - damit kann $this->GetPreview(); den Wert nutzen also ob das Objekt neu aufgerufen wurde.

        MfG rogge

        Kommentar


        • #5
          Evtl. solltest du dir diesen Thread einmal anschauen. Das was du da machst sieht nicht so toll aus.
          Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

          Kommentar

          Lädt...
          X