Dirk: Klassenvariablen initialisieren

Beitrag lesen

hi,

ieh, wozu gibt es denn einen Konstruktor? Oder besser,
erzeuge eine private Klassenmethode, die benötigte Parameter
initialisiert. Der Memberbereich dient lediglich zur
Declaration von Variablen.

Warum funktioniert folgender Code nicht?
class A{
}

Wo ist der Konstruktor und was macht er?

class B{
protected $a=array(new A());
}

Wenn der Konstruktor nicht parametrisiert ist, dann
nutze new A; (ohne Klammern).

Parse error: syntax error, unexpected T_NEW, expecting ')' in C:\temp\test.php on line 7

s.o.

Kann dazu auch nur sagen:

Lies dir doch mal den Eintrag im Manual zu »new« durch. Das dürfte deine Frage beantworten:
»To create an instance of an object, a new object must be created and assigned to a variable.«

Der einzige Unterschied ist, dass hier die Zuweisung im Konstruktor erfolgt.

Eben.

Dirk

Franz