PHPStan 2.2: Onverzegelde arrayvormen, veiligere arraysleutels en meer!

  • Gepubliceerd op PHPStan
  • Toegevoegd op

Het is alweer bijna anderhalf jaar geleden dat we de minor-versie voor het laatst hebben bijgewerkt. Hoewel we in de 2.1.x-serie veel verbeteringen hebben doorgevoerd, verdeeld over meer dan 55 releases, hebben we ook een aantal grotere wijzigingen doorgevoerd waar gebruikers al lange tijd om vroegen.

Twee ervan vallen al op sinds de eerste arrayvormen zeven jaar geleden werden geïntroduceerd:

  • De mogelijkheid om een arrayvorm te combineren met een algemene array: array<string, X>&array{a: Y} - wat betekent array{a: Y} plus de mogelijkheid van meer string-sleutels waarvan de waarden X zijn.
  • De mogelijkheid om twee verschillende arrayvormen, zoals array{a: X}&array{b: Y}, te combineren tot één arrayvorm: array{a: X, b: Y}. De motiverende toepassingen zijn combineerbare type-aliassen en het modelleren van een functie die de invoerarray retourneert met een extra sleutel.