lspreee: OOP: Eigenschaft (Variable) mit Wert belegen zu Beginn

Beitrag lesen

OOP: Eigenschaft(Variable) mit Wert belegen zu Beginn der Klassendefinition.
Problem mit Konstante!

Hallo Gemeinde,
bitte um Hilfe. Ich möchte meiner Eigenschaft oben einen Initialwert geben.

Dies geht:

class Test{  
  private $EndOfLine = null;  
}

Auch dies geht:

class Test{  
  private $EndOfLine = "\n";  
}

Dies jedoch nicht:
Dies geht:

class Test{  
  private $EndOfLine = chr(13).chr(10);  
}

a) Warum kann ich zu Beginn keine Konstanten auf meine Eigenschaft legen?

Da dies geht:

class Test{  
  private $EndOfLine;  
  public function __construct(){  
    $this->EndOfLine = chr(13).chr(10);  
  }  
}

... b) Wo empfiehlt es sich generell die Initialwerte zu setzen. Oben hinter die Eigenschaft oder im __construct?

Vielen Dank für Hinweise.
lSpreee