如何让 Psalm 识别包含文件中的变量

How to make Psalm recognize variables from an included file

我有一个包含在函数中的配置文件,如下所示:

function getConnection() {
  include 'config.php';
  return new Connection($config['host']);
}

问题是让 Psalm 从配置文件中识别 $config 变量。可能的?最好使用数组形状表示法。

通过在包含行上方添加 /** @var ... 注释解决:

function getConnection() {
  /** @var array{host: string} $config */
  include 'config.php';
  return new Connection($config['host']);
}