dedlfix: Noch eine frage zu einer kleinen Klasse

Beitrag lesen

echo $begrüßung;

» Und ein return in einem Konstruktor wird ignoriert. Das heißt, der Code wird zwar ausgeführt aber es wird nichts zurückgegeben.
Hmm, dass verstehe ich jetzt nicht; was meinst du mit es gibt keinen Rückgabewert bei return?

Du erzeugt ein neues Objekt einer bestimmten Klasse mit

new Klassenname()

Der Rückgabewert von new ist (in aktuellen PHP-Versionen) immer das neue Objekt. Du kannst der Klasse einen Konstruktor spendieren, wenn du Initialisierungsarbeiten hast, die bei der Instantiierung ausgeführt werden sollen. Der kann aber nichts zurückgeben, weil er automatisch beim new aufgerufen wird, was ja aber schon das Objekt selbst zurückgibt. Deshalb ist ein return im Konstruktor wie ein Leben ohne Mops (möglich, aber sinnlos).

Also eigentlich suche ich nur eine möglichkeit, in eine einzige Klasse unterschiedliche Funktionen abzulegen und dann über „new“ auf diese zuzugreifen, Beispiel:

new erzeugt ein Objekt. Das ist dann sinnvoll, wenn du Daten im Objekt speichern willst und die Funktionen (Methoden) darauf zugreifen sollen. Sollen die Methoden jedoch als eigenständige Funktionen sein und benötigen keinen Zugriff auf $this, könnten also auch ohne eine Klasse existieren, dann willst du vielleicht statische Methoden schreiben. Du brauchst dann kein Objekt mit new zu erzeugen. Immerhin können aber statische Methoden auf statische Eigenschaften zugreifen. Eine Klasse nur mit statischen Methoden und Eigenschaften nimmt man aber eigentlich nur dann, wenn man die Klasse als Namensraum "missbrauchen" möchte.

echo "$verabschiedung $name";