Gibt es einen Bezeichnung für Art von Klasse?
bearbeitet von plmoin,
>
> > 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()`{: .language-php} 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
~~~php
$f = new Foo($opts);
~~~
nimmt `new` 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:
~~~php
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