2016-04-02 5 views
0

Ich möchte so etwas wie die folgenden Funktionen ausführen:Gibt es eine Möglichkeit, eine Membervariable einem Objekt einer Klasse ohne Konstruktor zuzuweisen?

class SomeOtherClass {} 

class Test 
{ 
     public $member = new SomeOtherClass(); 
} 

Das einzige Problem ist, dass ich nicht wollen, einen Konstruktor verwenden, da die ‚Test‘ Klasse eine andere Klasse erweitern sollten und nicht den Konstruktor überschreiben. Ist das tatsächlich in PHP möglich?

+0

Nein es ist nicht möglich. Mitgliedsvariablen können nur konstante Ausdrücke haben. –

Antwort

3

können Sie erweitern Elternteil Konstruktor in Test wie folgt aus:

class Test extends SomeClass 
{ 
    public $member; 

    function __construct() { 
     $this->member = new SomeOtherClass(); 
     parent::__construct(); 
    } 
} 
+0

Kann der Aufruf des übergeordneten Konstruktors für untergeordnete Klassen erzwungen werden? – Tom291

+0

@ Tom291, was bedeutet "Erzwingen des Aufrufs des Elternkonstruktors"? Möchten Sie den übergeordneten Konstruktor für jede untergeordnete Klasse automatisch aufrufen, ohne "parent :: __ construct();" zu verwenden? – RomanPerekhrest

Verwandte Themen