2016-06-16 8 views
4

私はクラステストを持っていますし、getDataメソッドのコンテキストで発生するオブジェクト変数を魔法のように返します。PhpStorm/PhpDocタイプのヒント:魔法のオブジェクトの戻り値の変数

私の質問は、適切にohintovat IDEとphpdocに正しいと言った方法です。私はPhpStormが出力変数としての彼の帰還を理解したい。それは?

class Test 
{ 

    /** 
    * @param $param 
    * @return object 
    */ 
    function getData($param) 
    { 

     // ....... 

     $data = (object)[ 
      'a' => 'aaa', 
      'b' => 'bbb', 
     ]; 

     return $data; 
    } 

} 


$test = new Test(); 
$data = $test->getData('param'); 

echo $data-> 

enter image description here

+1

私は、パブリックメソッドを持つクラスのインスタンスのように知られているオブジェクトを返さずにあなたができるとは思いません。 – bassxzero

+2

あなたは、オンザフライで作成されたstdclassオブジェクトを返しています。 php stormはあなたが書くときには実行されないので、$ dataを解析することはありません。 –

+1

この返品の種類はいつも同じですか?もしそうなら - 私の唯一の考えは、他の場所(IDEでのみ使用されるファイルの中に)で宣言し、戻り値の型として使用することです。それ以外の方法はありません - この種の動的クラス(「その場でのタイプヒント」)をサポートするPHPDocもPhpStormもありません。 – LazyOne

答えて

0

私はあなたが余分なモデルクラスエン使ってそれを解決するために提案します。

enter image description here

関連する問題