__set & __get ?

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

  • __set & __get ?

    Hallo,

    folgendes szenario:

    ich hab ne klasse "test"

    in der klasse deklariere ich 10 variablen als private (Kapsellung). Wenn ich nun von auserhalb der klasse die variable auslesen/ändern will müsste nach meinem Wissensstand ne funktion wie z.b. "getName" schreiben die dann per "return $this->name;" den Namen zurück gibt.

    Ich bin mir nicht sicher aber der Meinung dass ich mal was über __set und __get funktionen gelesen habe, denen ich den Variablen-namen als parameter (u.u. auch den neuen wert) übergeben kann und die funktion mir dann den wert zurück gibt bzw. den neuen wert setzt.

    Ich hab zwar schon in diversen php-anleitungen und hier im board gesucht, aber ich konnte nichts passendes finden, was möglicherweise daran liegt, dass die such-funktionen die beiden unterstriche ignorieren.

    Könnt ihr mir sagen obs diese funktionen o.ä. wirklich gibt und wie ich etwas dazu finden kann?

    Vielen Dank im Voraus.
    MfG
    aim
    Lies mich jetzt!
    - OT-Tags-Liebhaber und BB-Code-Einrücker -

  • #2
    __get und __set sind keine definierten methoden einer klasse.
    wenn du sie jedoch selbst definierst werden sie aufgerufen, falls du eine variable des objekts ansprichst, welche nicht existiert.
    schreibend wird __set und lesend __get aufgerufen.

    beispiel:

    PHP-Code:
    <?php

    class foo
    {
        public 
    $var;

        function 
    __construct()
        {
            
    $this->var 'bar';
        }
        
        function 
    __get($varname)
        {
            echo 
    'nix da';
        }

    }

    $foo = new foo();
    echo 
    $foo->var;
    echo 
    $foo->bar;

    ?>
    naeheres dazu unter:
    http://de.php.net/manual/en/language...verloading.php

    gruss jens
    1101100 1101001 1100110 1100101 1101001 1110011 1100001 1100010 1101001 1110100 1100011 1101000

    /(bb|[^b]{2})/

    Kommentar


    • #3
      ahhhh, jetz isses klar.

      Vielen Dank
      MfG
      aim
      Lies mich jetzt!
      - OT-Tags-Liebhaber und BB-Code-Einrücker -

      Kommentar

      Lädt...
      X