PHPSan报告可能未定义的变量,但它在包含的脚本中定义

6g8kf2rb  于 2022-11-21  发布在  PHP
关注(0)|答案(1)|浏览(153)

我有一个应用程序,我在一个文件(a.php)中定义了一些变量,然后从另一个文件(b.php)中包含这些变量。
简化示例:
a.php:

$config['foo'] = 'bar';

b.php:

<?php

require 'a.php';

//new SlimApp($config)->run();
echo $config;

PHPStan说:

------ ---------------------------------------- 
  Line   b.php                                   
 ------ ---------------------------------------- 
  :6     Variable $config might not be defined.  
 ------ ----------------------------------------

另外:我不知道为什么,但如果我删除b.php开头的<?php行,警告就会消失。
如何让PHPStan认识到$config实际上是定义的?
顺便说一句,我知道this question。这和我显式包括定义变量的文件的问题不一样。

mzmfm0qo

mzmfm0qo1#

单一解决方案:
Yo可以防止在文件顶部用/** @var array $config */通知。
如需详细信息,请参阅:https://github.com/phpstan/phpstan/issues/5815

相关问题