PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : OOP __construct() : was ist das


flobee
07.11.2004, 14:14:51
hallo
kann mir jemand helfen/ sagen was das mit der einführung von __construct()
genau aufsich hat!?

oder verstehe ich das so das "im alten system" subclassen auch den parent:: construktor "in schwung" gebracht haben"!? und das durch die einführung dieses vermieden wird?

gruß flobee

xabbuh
07.11.2004, 17:00:42
Original geschrieben von flobee
kann mir jemand helfen/ sagen was das mit der einführung von __construct()
genau aufsich hat!?

Hi,

Classes and Objects in PHP 5 - Cintructors and Destructors (http://de3.php.net/manual/de/language.oop5.decon.php)

flobee
07.11.2004, 17:31:46
genau diesen text hatten ich gelesen und daruf hin die frage gestellt, meine frage nicht verstanden?

xabbuh
07.11.2004, 19:00:57
Original geschrieben von flobee
genau diesen text hatten ich gelesen und daruf hin die frage gestellt, meine frage nicht verstanden?
Tschuldigung, da habe ich deine Frage ganz falsch verstanden.

oder verstehe ich das so das "im alten system" subclassen auch den parent:: construktor "in schwung" gebracht haben"!?
Ich glaube nicht. Dazu mal folgendes Beispiel: http://nopaste.php-q.net/95790
Dieses Beispiel führt zu keiner Ausgabe.

Wenn wir das Beispiel folgendermaßen ändern, erhalten wir aber die Ausgabe foobar:http://nopaste.php-q.net/95793

Warum genau mit PHP 5 __construct() eingeführt wurde, weiß ich allerdings auch nicht sicher. Ich habe dazu mal vor ein paar Monaten einen Artikel in einer Zeitschrift gelesen. Wenn ich den wiederfinde, zitiere ich mal die entsprechende Stelle.

meikel
12.11.2004, 10:06:34
PHP5 und __construct()
Original geschrieben von flobee
oder verstehe ich das so das "im alten system" subclassen auch den parent:: construktor "in schwung" gebracht haben"!? und das durch die einführung dieses vermieden wird?
Vererbungen sind leichter zu warten, wenn die Methodennamen für Konstruktor und Destruktor bekannt sind:
parent::__construct();

Was leider nicht geht:
class B extends $name

Man kann nicht alles haben, was man braucht...