• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Nachträgliches Hinzufügen von Eigenschaften

Status
Für weitere Antworten geschlossen.

cyberhero

Neues Mitglied
Hallo,
ist es möglich, einem Objekt nachträglich eine neue Eigenschaft hinzuzufügen, abhängig von einer Benutzereingabe?

MfG cyberhero
 
Ich glaube er meint, dass man als Benutzer Attribute eines Objekts (div-container, tabelle, etc.) ändern kann.
Also zB ein input-Feld, in dem man einen Zahlenwert eingeben kann und sich danach dann die Breite eines Containers richtet.

Das ist mit PHP möglich. Hoffe ich habe dich richtig verstanden :)

MfG Icy
 
Attribute nachträglich hinzuzufügen ist in php zwar generell möglich, allerdings nicht OOP-"konform".
Du solltest ein Attribut bereitstellen, welches die Usereingabe aufnimmt.
PHP:
<?php
class Example {
  var $eingabe;
  public function __construct() {
    $this->eingabe = "";
  }
  public function setEingabe($eingabe) {
    $this->eingabe = $eingabe;
  }
  public function getEingabe() {
    return $this->eingabe;
  }
  public function __destruct() {
    unset($this->eingabe);
  }
}

//Objekt erzeugen
$myExample = new Example();
$myExample->setEingabe("Hier ist die User-Eingabe");
echo $myExample->getEingabe();
?>
oder du vererbst deine Klasse und stellst dadurch neue Attribute und Methoden bereit.
 
ja, man arbeitet mit settern und gettern , tut man jedoch in jeder sprache, ansonsten schau dir mir __CALL und __ToString an, womit du klassen überladen kannst.
 
Ah okay danke.
Noch eine kurze Frage: wie lautet der ASCII-Code für einen mit Enter erzeugten Zeilenumbruch?
Line Feed = 10 und Carriage Return = 13.

Wie du die kombinieren musst hängt vom Betriebssystem ab.


@Frank: Wenn man das richtig organisiert ist das durchaus OOP "Konform". Dann noch __get() und __set() überladen und man kann wie gewohnt (in PHP) über -> auf die Eigenschaften zugreifen.

PHP:
class Foo {
   private $additionalAttributes = array();

   public function __set($property, $value) {
      $this->additionalAttributes[$property] = $value;
   }

   public function __get($property) {
      return $this->additionalAttributes[$property];
   }
}

Dazu kann man dann noch __isset() und __unset() überschreiben und Kontrollen einbauen, dass keine falschen Werte eingesetzt werden, etc.


N43
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben