Variable hinter $this-> ändern

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

  • Variable hinter $this-> ändern

    Hy,
    ich möchte in einer Klasse eine Funktion auf unterschiedliche Domains anwenden. Für jeden Domaintyp gibts es ein eigenes Array.
    Die Funktion bekommt den Suffix als Parameter übergeben
    Mit welcher Syntax kann ich denn den (Objekt-)Variablennamen
    hinter $this-> verändern, um auf unterschiedliche Arrays verweissen zu können ?!?
    Ich dachte vielleicht so, klappt aber nicht...........
    PHP-Code:
     $suffix ".De"  
     
    ${this->'Domain'.$suffix }  = $Domain// soll $this->DomainDe ergeben
    // andere Sachen mit $Domain.....etc
     
    $suffix ".CNO"
     
    ${this->'Domain'.$suffix }  = $Domain//soll  $this->DomainCNO ergeben 
    Any Ideas ??
    "I don't want to belong to any club that would accept me as a member."

    Groucho Marx

  • #2
    Mit eval().

    PHP-Code:
    eval("$"."this->Domain".$suffix." = "."$"."domain;"); 
    Der String ist abgehackt, weil sonst das $ interpretiert wird.

    Kommentar


    • #3
      mache die domains innerhalb der class als array.
      dann kannst du sie auch als array ansprechen, was sich einfacher und übersichtlicher gestaltet als dein vorschlag.

      ausserdem sollte man niemals auf die variablen innerhalb einer class direkt zugreifen.
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        ganz sicher so:

        $tmp = 'this->DomainDe';
        $$tmp = ...

        Kommentar


        • #5
          ausserdem sollte man niemals auf die variablen innerhalb einer class direkt zugreifen.
          wer sagt denn, dass er das machen will?

          Kommentar


          • #6
            Original geschrieben von TobiaZ
            wer sagt denn, dass er das machen will?
            boh. ich bin kirre... er will es ja innerhalb der class machen. schon gut...
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              OffTopic:
              heut nicht dein tag?

              Kommentar


              • #8

                Jungs, ihr seid klasse............
                "I don't want to belong to any club that would accept me as a member."

                Groucho Marx

                Kommentar


                • #9
                  PHP-Code:
                  $this->{'blabla'.$var
                  sollte auch gehen
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    OffTopic:
                    bei den vielen Lösungen ist das ja schon fast ein Brainstorming

                    Kommentar

                    Lädt...
                    X