php frage zu klassen

hallo,
kann mir jemand sagen warum das nicht funktioniert:

class test
{
var $wr = $HTTP_SERVER_VARS["REMOTE_ADDR"];

function test()
{

}

}

$wr = $HTTP_SERVER_VARS["REMOTE_ADDR"]; ausserhalb der klasse geht aber
danke
 
var $ws = $_SERVER["REMOTE_ADDR"]; geht auch nicht
ich kann auf den array-pointer übrigens auch nicht zugreifen ($ws = $_SERVER);

$HTTP_SERVER_VARS kann ich auch nicht mit global einbinden

fehlermeldung:
Parse error: parse error, unexpected '[', expecting ',' or ';' in c:\programme\apache group\apache\htdocs\classes.php on line 8

wo liegt der fehler?

danke schonmal
greets php-kopfkratzer
 
ahhh, erkenntnis!
die initialisierung muss in diesem fall im konstruktor stattfinden, oder seh ich das falsch?
denn

class test
{

print $_SERVER["REMOTE_ADDR"]; //oder
var $x = $_SERVER["REMOTE_ADDR"];
}


produziert eine fehlermeldung...
innerhalb eines funktionskörpers bzw. des konstruktorfunktionskörpers ist sie aber valide.
danke vielmals
php-kopfkratzer
 
man kann im Deklarationsteil Variablen keinen Wert anderer Variablen
zuweisen. Deshalb klappt es bei dir nicht. Macht es doch so:

PHP:
class serverzeigen {

  var $test;

  function serverzeigen() {
    $this->test = $_SERVER["REMOTE_ADDR"];
  }
  function ausgabe() {
    print $this->test;
  }
}

$class = new serverzeigen();
$class->ausgabe();
 
Zurück