PHPStan 2.2: Formatos de arrays não selados, chaves de arrays mais seguras e muito mais!

  • Publicado em PHPStan
  • Selecionado em

Já passou quase um ano e meio desde a última atualização da versão secundária. Embora tenhamos lançado muitas melhorias na série 2.1. x, agrupadas em mais de 55 versões, também implementámos algumas alterações maiores que os utilizadores têm vindo a solicitar há muito tempo.

Duas delas destacaram-se desde que os formatos de matriz foram introduzidos pela primeira vez, há sete anos:

  • A capacidade de intersetar uma forma de matriz com uma matriz geral: array<string, X>&array{a: Y} - significando array{a: Y} mais a possibilidade de mais chaves de string cujos valores são X.
  • A capacidade de intersetar duas formas de array distintas, como por exemplo array{a: X}&array{b: Y}, para produzir uma forma combinada array{a: X, b: Y}. Os casos de uso motivadores são aliases de tipo componíveis e a modelação de uma função que retorna o seu array de entrada com uma chave extra adicionada.