Peter Pan: Verständnisfrage zu der OOP in PHP

Beitrag lesen

Hi!

Genauso wie PHP 5. Konstruktoren sind optional. Gibt es keinen, wird ein Objekt ebenso angelegt wie mit Konstruktor. Natürlich dann ohne den Konstruktor-Inhalt auszuführen, gibt ja keinen.

Was mich dann aber irritiert ist, dass man

$__pd = new Partnerdetails(2,33);

eine Instanz bilden kann, auch wenn kein Konstruktor, also nur der Standardkonstruktor, also damit keiner mit passender Signatur zur Verfügung steht.

Das paßt zur Philososphie von PHP - vergleiche diese Sprache nicht mit Java oder gar C++. Deine Werte 2 und 33 werden eben nicht verarbeitet - in PHP kannst Du Konstruktoren auch nicht überladen.

Das müsste mMn wenigstens einen Fehler geben!

Nein! Ich kann auch eine Funktion / Methode in PHP mit beliebig unterschiedlicher Parameterfolge aufrufen - unabhängig von der Signatur.
PHP bietet Möglichkeiten, innerhalb der Methode / Funktion individuell die aktuell übergebenen Parameter zu ermitteln.

gute n8!

off:PP

--
"You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)