自动完成功能不适用于foreach中的Symfonys SplFileInfo(Finder)方法

时间:2016-05-04 17:47:22

标签: phpstorm

我正在做Symfony教程,一切正常,但PhpStorm不会自动完成本教程中的getRealpath()或其他$file方法(只有foreach中的方法循环其他人真的很好)。 Symfony Tutorial Finder

首先我认为这是Symfony的一个问题因为我信任PhpStorm :) 我需要改变什么吗?我排除了var / cache文件夹

2 个答案:

答案 0 :(得分:1)

在迭代$finder集合时,看起来PhpStorm无法找出正确的类型(考虑到它是如何工作的,这是预期的。)

您可以通过PHPDoc注释添加typehint轻松解决此问题(例如,将其置于foreach循环之前或之内):

/** @var SplFileInfo $file */

确保它是\Symfony\Component\Finder\SplFileInfo而不仅仅是\SplFileInfo(标准PHP类)。

<强> P.S。 您也可以尝试安装和启用Symfony插件 - 也许(我自己没有使用过)它会自动/内部提供这样的类型提示,因此不需要这样的手动步骤。

答案 1 :(得分:1)

现在在Symfony核心中直接支持PhpStorm 2016.1+,请参阅:https://github.com/symfony/symfony/pull/19036