PHPStan 2.2: ¡Formas de matrices sin sellar, claves de matrices más seguras y mucho más!

  • Publicado en PHPStan
  • Seleccionado el

Ha pasado casi un año y medio desde la última actualización menor. Si bien lanzamos muchas mejoras en la serie 2.1.x, agrupadas en más de 55 versiones, también preparamos algunos cambios más importantes que los usuarios llevaban tiempo solicitando.

Dos de ellas han destacado desde que se introdujeron las formas de matriz hace siete años:

  • La capacidad de intersecar una forma de matriz con una matriz general: array<string, X>&array{a: Y} - lo que significa array{a: Y} más la posibilidad de más claves de cadena cuyos valores sean X.
  • La capacidad de intersecar dos formas de matriz distintas, como array{a: X}&array{b: Y}, para producir una forma combinada array{a: X, b: Y}. Los casos de uso que lo motivan son los alias de tipo componibles y el modelado de una función que devuelve su matriz de entrada con una clave adicional.