如何在phpstorm中为代码完成注释类

时间:2013-09-25 01:56:18

标签: php phpstorm phpdoc

假设我有一个班级

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。救命啊!

1 个答案:

答案 0 :(得分:10)

检查您的类名称空间。

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

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

别名示例:

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


检查项目目录定义。

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


清除PHPStorm缓存。

有时PHPStorm缓存变得无效。因此,代码完成可能无法正常工作。 Official how to cache cleanup