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
我正在使用 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