5

假设我有一堂课

class Class1
{
    public function method1(){
        return "hello world";
    }

}

我有另一个班级在班级中使用它

class Class2
{
     /** @var $firstClass Class1 */
     private $firstClass;

     public function __construct($firstClass)
     {
            $this->firstClass = $firstClass;

     }

     public function method2()
     {
            return $this->firstClass-> "I want code completion to work here"
     }
 }

如何使用 PHPDoc 使代码完成工作。我已经在 phpdoc 中搜索范围、声明和各种东西。我无法弄清楚 phpdoc 的注释行的条款或位置来选择它。

我正在使用 phpstorm。帮助!

4

1 回答 1

10

检查您的类名称空间。

如果类具有命名空间,请确保您在注释或别名中正确定义它们。
评论示例:

...
    /** @var \vendor\namespace\Class1 */
    private $firstClass;
...

别名示例:

use \vendor\namespace\Class1;
...
    /** @var Class1 */
    private $firstClass;
...


检查项目目录定义。

如果您的类目录未在项目设置中定义,PHPStorm 无法索引这些类。在这种情况下,代码完成将不起作用。如何在 PHPStorm 中设置项目目录


清除 PHPStorm 缓存。

有时 PHPStorm 缓存变得无效。因此,代码完成可能无法正常工作。官方如何清理缓存

于 2013-09-25T06:46:20.940 回答