Psalm 多行关联数组注释

Psalm multiline associative array annotation

我正在使用 Psalm 样式注释来记录 return 数组类型,例如:

/**
  * @return array{ key1: type1, key2: type2, key3: array{ nestedKey1: array<string,string> } }
  */

这对自动完成/静态分析(包括 PhpStorm)来说非常有用。但是,这些行可能会变得非常长且无法遵循,尤其是在涉及嵌套数组的情况下。

我正在寻找此注释的多行语法,我可以在其中找到类似的内容:

/**
  * @return array{ 
  *    key1: type1, 
  *    key2: type2, 
  *    key3: array{ 
  *      nestedKey1: array<string,string> 
  *    } 
  *  }
  */

然而,正如它所写的那样,这似乎不是有效的解析语法。是否有一些语法可以让我在多行上打破定义?

很遗憾,没有。这是 PhpStorm 跟踪器上对此的请求:
https://youtrack.jetbrains.com/issue/WI-59784

Psalm 似乎完全支持:https://psalm.dev/r/2feeaae2fb

虽然将各个部分拆分成它们自己的类型别名通常更容易,例如:https://psalm.dev/r/733049a5f4