Julius: PHP 7 mehr typesiert?

Beitrag lesen

Hallo Rolf,

2. Nein. Es gibt return type declarations, aber keine Deklaration von void. Eine Funktion gibt immer was zurück, und sei es NULL.

Doch, seit PHP 7.1:

function test() : void {
  /* tu was */

  // PHP Fatal error:  A void function must not return a value
  return "Hallo";
}

test();

3. Da PHP per Wert übergibt, kann es dir im Fall von string egal sein. Bei Objekten ist das was anderes, und sowas wie das "const", das es in C++ gibt, ist in PHP nicht vorhanden.

Das Schlüsselwort const gibt es in PHP – aber ich denke mal, dass du dich darauf beziehst, dass man ein Objekt nicht per const unveränderbar bekommen kann, so wie das in C++ ist und man dann nur per const als das Objekt nicht verändernde markierte Methoden aufrufen kann.

Gruß
Julius