Variable aus Klasse vererben?

ev0lst

Erfahrenes Mitglied
Hallo.

Angenommen ich habe eine Funktion in der ich eine Variable beschreibe.

Beispiel:

PHP:
class klassetyp {

function test($uuu)
{

$var = 'hallo';
return true;

}
}

Dann rufe ich die Klasse ja so auf:

$klassetyp->test('wert');

Ist es möglich nachträglich noch auf die Variable $var zu zugreifen?

Und was hat es mit parent::muh(); auf sich?

Danke
 
Grundsätzlich ist es erstmal so, dass man auf Klasseneigene Variablen NUR mit Funktionen zugreifen sollte, egal ob in PHP oder C++, auch wenn PHP4 das anders handhabt (in PHP4 kann man auch ohne Funktion darauf zugreifen).
Der Unterschied zu PHP5 ist der, dass in PHP5 Klassenvariablen entweder "public" oder "private" sein können, was den Zugriff regelt. "public" heisst, Du kannst die Variable OHNE Funktion ändern, "private" dagegen verbietet die "Bearbeitung" durch Zuweisung.

Um die 2. Frage zu beantworten: Auf "$var" kannst Du NUR innerhalb der Funktion darauf zugreifen, in der die Variable definiert wurde - nach aussen hin (selbst innerhalb der Klasse) ist diese variable nicht sichtbar (also unbekannt).

parent::muh() bedeutet übrigens den Aufruf einer Funktion aus einer Übergeordneten Klassen ( = Parent [Eltern] )

LG
Andy
 
Du solltest aber generell niemals direkt Variablen von außen zugänglich machen, sondern eher als "private" oder "protected" deklarieren und jeweils eine get() und set() Methode zur Verfügung stellen. Um innerhalb der Klasse auf eine Variable zuzugreifen, benutzt man "this". Hier mal ein kurzes Beispiel:
PHP:
class Demo
{
  private $foo;

  public function __construct()
  {
    $foo = 1;
  }

  public function getFoo()
  {
    return $this->foo;
  }
  
  public function setFoo($bar)
  {
    $this->foo = $bar
  }
}
Gruß Radhad
 
Zurück