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 に答える