在非常简单的PhpStorm示例中修复自动完成

时间:2014-08-18 16:58:44

标签: phpstorm

我刚刚下载并安装了PhpStorm 7.1,我想知道它为什么不理解以下代码:

<?php


/**
 * Class Whatever
 */
class Whatever {

  /**
   * Just prints "Hello."
   */
  function foo() {
    echo "Hello.\n";
  }
}


$test = new Whatever();

$test->foo();

?>

似乎忽略了Whatever类定义。

键入$this->并按Ctrl + Enter时显示“No suggestions”,输入new后,Whatever类永远不会成为建议列表的一部分。在其他一些情况下,我目前无法复制它,例如“Undefined class definition: Whateer”。

我做错了什么?

更新

请参阅以下屏幕截图。输入$test->foo后,请注意左下角的消息。

screenshot showing PhpStorm error message

此外,当我按Ctrl+B时会发生这种情况:

screenshot showing that PhpStrom can't find the declaration of "foo"

然而,在Ctrl+B上使用插入符号new WhateverCtrl+B时,$test本身使用{{1}}时会找到该类。奇怪......

1 个答案:

答案 0 :(得分:0)

问题是我的测试文件在项目文件夹之外。正如LazyOne所指出的,这就是PhpStorm的工作原理。将文件移动到项目目录解决了问题

另见问题评论......