自动完成不适用于 foreach 中的 Symfonys SplFileInfo(Finder) 方法
Autocomplete doesn't work on Symfonys SplFileInfo(Finder) method in foreach
我正在学习 Symfony 教程并且一切正常,但是 PhpStorm 不会自动完成本教程中的 getRealpath()
或其他 $file
方法(只有 foreach
循环其他人做的真的很好)。
Symfony Tutorial Finder
首先我认为这是 Symfony 的问题,因为我信任 PhpStorm :)
我必须改变什么吗?我排除了 var/cache 文件夹
看起来 PhpStorm 在遍历 $finder
集合时无法找出正确的类型(考虑到它的工作原理,这是意料之中的)。
您可以通过 PHP 文档注释添加类型提示轻松解决此问题(例如,将其放置在 foreach
循环之前或内部):
/** @var SplFileInfo $file */
确保它将是 \Symfony\Component\Finder\SplFileInfo
而不仅仅是 \SplFileInfo
(标准 PHP class)。
P.S.
您也可以尝试安装和启用 Symfony 插件——可能(我自己没有使用过)它会提供这样的类型提示automatically/internally,所以不需要这样的手动步骤。
Symfony 核心现在也直接支持 PhpStorm 2016.1+ 请参阅:https://github.com/symfony/symfony/pull/19036
我正在学习 Symfony 教程并且一切正常,但是 PhpStorm 不会自动完成本教程中的 getRealpath()
或其他 $file
方法(只有 foreach
循环其他人做的真的很好)。
Symfony Tutorial Finder
首先我认为这是 Symfony 的问题,因为我信任 PhpStorm :) 我必须改变什么吗?我排除了 var/cache 文件夹
看起来 PhpStorm 在遍历 $finder
集合时无法找出正确的类型(考虑到它的工作原理,这是意料之中的)。
您可以通过 PHP 文档注释添加类型提示轻松解决此问题(例如,将其放置在 foreach
循环之前或内部):
/** @var SplFileInfo $file */
确保它将是 \Symfony\Component\Finder\SplFileInfo
而不仅仅是 \SplFileInfo
(标准 PHP class)。
P.S. 您也可以尝试安装和启用 Symfony 插件——可能(我自己没有使用过)它会提供这样的类型提示automatically/internally,所以不需要这样的手动步骤。
Symfony 核心现在也直接支持 PhpStorm 2016.1+ 请参阅:https://github.com/symfony/symfony/pull/19036