pl: Gibt es einen Bezeichnung für Art von Klasse?

Beitrag lesen

moin,

Genso so ruft man Klassenmethoden auf, mit dem T_PAAMAYIM_NEKUDOTAYIM, also dem doppelten Doppelpunkt. PHP verrät infolge dieser Fehlermeldung daß der Konstruktor eine Klassenmethode ist und new nur ein Wrapper (Fascade).

Sry, nur zum mitschreiben: durch dieses T_PAAMAYIM_NEKUDOTAYIM Indiz leitest du ab, das __construct() eine Klassenmethode sei,

Zum Erstellen einer Instanz braucht man eine Klassenmethode. Eine Klassenmethode wird über den Namen der Klasse aufgerufen, logisch denn die Instanz muss ja erst erstellt werden.

Insofern darf man __contruct() auch als eine Klassenmethode betrachten. Wenn Du notierst

$f = new Foo($opts);

nimmt new sogar den Namen der Klasse als Methode an, nämlich um die Argumente $opts zu übergeben. Und wenn Du Dich an frühere PHP Versionen erinnerst:

class Foo{
    function Foo($a){}
}
$f = new Foo(1,2,3);

findest Du genau diesen Sachverhalt wieder. Aber überlege doch mal selbst welche Methode Du als diejenige Klassenmethode bezeichnen würdest, welche die Instanz erstellt, Foo() oder __construct() oder new?

Darüber lohnt es sich mal nachzudenken, es ist dem Verständnis für OOP sehr dienlich. MFG