PHP leerer Konstruktor

8

Wenn Sie sich fragen, ist es am besten, einen leeren Konstruktor zu definieren oder die Konstruktordefinition vollständig in PHP zu lassen? Ich habe die Angewohnheit, Konstruktoren nur mit return true; zu definieren, auch wenn ich den Konstruktor nicht brauche, um irgendetwas zu tun - nur aus Gründen der Vollständigkeit.

    
Mark Blades 06.10.2011, 10:39
quelle

5 Antworten

10

Wenn Sie keinen Konstruktor benötigen, sollten Sie ihn lieber nicht mehr schreiben. Wenn Sie es schreiben, lassen Sie es leer ... die Rückkehr wahr hat keinen Zweck.

    
JNDPNT 06.10.2011 10:42
quelle
5

BEARBEITEN:

vorherige Antwort ist nicht mehr gültig, da sich PHP nun wie andere oop Programmiersprachen verhält. Konstruktoren sind nicht Teil von Schnittstellen. Daher dürfen Sie sie jetzt ohne irgendwelche Probleme überschreiben, wie Sie es bevorzugen.

Die einzige Ausnahme ist:

%Vor%

VORHERIGE ALTE NICHT-GÜLTIGE-ANTWORT:

Es gibt einen wichtigen Unterschied zwischen einem leeren Konstruktor und keinem Konstruktor

%Vor%     
user652649 06.10.2011 10:58
quelle
3

Es gibt einen Unterschied zwischen den beiden: Wenn Sie eine leere Funktion __construct() schreiben, überschreiben Sie alle geerbten __construct() von einer übergeordneten Klasse.

Wenn Sie es also nicht benötigen und Sie den übergeordneten Konstruktor nicht explizit überschreiben möchten, schreiben Sie ihn überhaupt nicht.

    
hakre 23.03.2012 13:43
quelle
2

Sie sollten nur einen leeren Konstruktor definieren, wenn Ihr Objekt niemals instanziiert werden soll. Wenn dies der Fall ist, machen Sie __construct() privat.

    
alex 06.10.2011 10:50
quelle
1

-Konstruktor gibt immer die Instanz der Klasse zurück, in der sie definiert ist. Daher verwenden Sie niemals den Konstruktor "return". Schließlich ist es besser, es nicht zu definieren, wenn Sie es nicht benutzen.

    
Mr Coder 06.10.2011 10:49
quelle

Tags und Links