【发布时间】:2015-07-30 17:57:59
【问题描述】:
我有这段代码,但收到两个“未定义”变量的错误报告
$tables = [
'foo',
'bar',
'baz'
];
foreach ($tables as $table) {
$$table = $this->setUpTables($table, $prefix);
}
$all = $this->getBaz($foo,$bar); // those two are reported as undefined
是否可以告诉 PhpStorm 不要报告这个“错误”?
编辑:
/** @var foo $foo */
/** @var bar $bar */
$all = $this->getBaz($foo,$bar);
【问题讨论】:
-
使用内联 PHPDoc 来声明它们。没有其他方法(除了,也许,禁止该行的警告,这总体上是错误的方法)。另一种选择需要编辑您的代码以使用实变量。
-
你的意思是像我编辑的一样吗? @LazyOne,似乎错误现在消失了。
-
是的——正是我的意思。
-
太好了,谢谢! @LazyOne
-
不确定 PHPstorm 会如何看到它,但是一个数组?
$result[$table] = $this->setUpTables($table, $prefix);