1unitedpower: PHP: Nullable Types und "iterable" pseudo-type

Beitrag lesen

Sicherlich nicht. Proposals scheitern oder sind erfolgreich je nachdem, wie gut sie vorbereitet sind und natürlich auch, inwieweit sie Weitsicht in Bezug auf mögliche Seiteneffekte zeigen.

Ich hoffe du behälst recht.

Dieses Proposal hat sich vor allem in den Beispielen NUR mit der Möglichkeit von Skalartypen beschäftigt, also mit einer Konkretisierung von "mixed".

Was ist mit Klassen? Könnte ich als Parameter einer Funktion vielleicht eine von zwei unterschiedlichen Klassen hineingeben? Wie sollte sowas praktisch funktionieren?

Ich habe mir den RFC nochmal durchgelesen, zwar spricht dort niemand ausdrücklich über Union-Types von Klassen, aber es wird auch keine Ausnahme für sie geregelt. In den Beispielen tauchen solche Typannotationen auf.

Und was sagt das über die Codebasis aus? Denn normalerweise wäre in solchen Fällen ein Interface oder eine abstrakte Basisklasse angesagt.

Das ist eine Modellierungsentscheidung, natürlich wären Union-Types keine Substitution für andere Typfeatures.

Die Proposals waren nach meiner bescheidenen Einschätzung eine erstklassige Gelegenheit sich aus dem konservativen C/Java-Lager zu verabschieden und zu modernen highlevel Sprachen aufzuschließen. Die Entscheidung überrascht mich um so mehr, da man sich damit auch von dem PHP-Ableger Hack weiter distanziert.

Es gibt das Proposal für Nullable Types: https://wiki.php.net/rfc/nullable_types - erfolgreich angenommen.
Außerdem gibts das Proposal für Iterable: https://wiki.php.net/rfc/iterable - ebenfalls erfolgreich angenommen.

:) Und das Votum für generics steht auch noch aus: https://wiki.php.net/rfc/generics

PS: PHPDoc hat Unterstützng für Union-Types, das tröstet mich gerade. https://www.phpdoc.org/docs/latest/guides/types.html