2017-01-04 15 views
1

"new X()"スコープ外の型をPhpStorm(2016.1)が認識できるようにするためにできることはありますか?PhpStorm型の認識/提案

SomeClass.php:

class SomeClass 
{  
    public function DoMagic() 
    { 
    echo "doing magic"; 
    } 

} 

DummyClass.php:

class DummyClass 
{ 
    protected $mParamsList; 

    function __construct() 
    { 
    $this->mParamsList = array(); 
    } 

    public function InitParamsList() 
    { 
    $this->mParamsList[] = new SomeClass(); 
    } 

    public function GetParamsList() 
    { 
    return $this->mParamsList; 
    } 

} 

UserClass.php - ノー提案:

class UserClass 
{ 
    public function DoMagic() 
    { 

    $dummy2 = new DummyClass(); 

    $params = $dummy2->GetParamsList(); 

    foreach ($params as $param) 
    { 
     $param-> * nothing happens * 
    } 
    } 

} 
?> 

私はこのハック作品を追加したが、それはそれを使用することがイライラなっています:

(偽) { $のparam =新工ass()場合。 }

だから、完全な実施例は次のようになります。

class UserClass 
{ 
    public function DoMagic() 
    { 
    $dummy = new DummyClass(); 

    $params = $dummy->GetParamsList(); 

    foreach ($params as $param) 
    { 
     if (false) 
     { 
     $param = new SomeClass(); 
     } 

     $param-> * suggestions pop up * 
    } 
    } 

} 
+0

示してしまう自己完結型の完全なサンプルコードを入力してください問題。私の単純なテストは、それはちょうどいい動作していることを示しています。だからあなたのローカルな問題(実際のコード..または多分何か)でなければなりません。 – LazyOne

+0

http://postimg.org/image/nekslhcwj/ - あなたが見ることができるように、余分なPHPDocは必要ありません(ドキュメントは常に有用ですが)。 – LazyOne

+0

申し訳ありませんが、私はうまくいきました。質問が壊れたサンプルで更新されました。私のクラスは、違いがあれば、別々のファイルで定義されます。 – Buffalo

答えて

4

あなたは、あなたの関数の前にドキュメントタイプのコメントを使用する必要があります

/** 
* @return \MyObject 
*/ 
public function GetMyObject() 
{ 
    return new MyObject(); 
} 
関連する問題