【问题标题】:Psalm multiline associative array annotation诗篇多行关联数组注释
【发布时间】:2021-11-13 22:22:01
【问题描述】:

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

/**
  * @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> 
  *    } 
  *  }
  */

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

【问题讨论】:

    标签: php arrays phpstorm psalm-php


    【解决方案1】:

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

    不过,将各个部分拆分为自己的类型别名通常更容易,例如:https://psalm.dev/r/733049a5f4

    【讨论】:

    • 好吧,我的目标是可读性;如果某些嵌套结构本身可能代表实体,这可能是一种方法,甚至为它们定义一个全局@template。但除此之外,它只是杂乱无章......
    【解决方案2】:

    不幸的是,不,没有。这是 PhpStorm 跟踪器上的一个请求:
    https://youtrack.jetbrains.com/issue/WI-59784

    【讨论】:

      猜你喜欢
      • 2021-04-11
      • 1970-01-01
      • 2011-02-12
      • 2020-09-14
      • 2020-05-16
      • 2021-02-09
      • 1970-01-01
      相关资源
      最近更新 更多