PHPStan 2.2: Offene Array-Formen, sicherere Array-Schlüssel und mehr!

  • Veröffentlicht bei PHPStan
  • Aufgenommen am

Es ist fast anderthalb Jahre her, seit wir die Nebenversion zuletzt aktualisiert haben. Obwohl wir in der 2.1.x-Serie zahlreiche Verbesserungen in über 55 Releases veröffentlicht haben, haben wir auch einige größere Änderungen umgesetzt, die sich viele schon lange gewünscht haben.

Zwei davon haben sich seit der ersten Einführung von Array-Formen vor sieben Jahren besonders hervorgetan:

  • Die Möglichkeit, eine Array-Form mit einem allgemeinen Array zu schneiden: array<string, X>&array{a: Y} - bedeutet array{a: Y} plus die Möglichkeit von mehr String-Schlüsseln, deren Werte X sind.
  • Die Möglichkeit, zwei unterschiedliche Array-Formen wie `array{a: X}&array{b: Y}` zu einem kombinierten Array `array{a: X, b: Y}` zu verschneiden. Anwendungsfälle hierfür sind zusammensetzbare Typaliase und die Modellierung einer Funktion, die ihr Eingabe-Array mit einem zusätzlichen Schlüssel zurückgibt.