2016-06-16 21 views
4

Ich habe einen Klassen-Test und es getData, dass ein Objekt Variablen, die im Zusammenhang mit Methoden magisch zurückgegeben werden.PhpStorm/PhpDoc Typ-Hinting für Return-Variable in einem magischen Objekt

Meine Frage ist, wie man richtig zu IDE und phpdoc richtig ohintovat sagte, war richtig. Ich möchte PhpStorm verstehen, was er als Ausgangsvariablen zurückgibt. Macht es?

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

Ich glaube nicht, können Sie ein bekanntes Objekt wie eine Klasseninstanz mit öffentlichen Methoden ohne Rückkehr. – bassxzero

+2

Sie geben ein stdclass-Objekt zurück, das während der Übertragung erstellt wurde. php storm wird nicht ausgeführt, während Sie schreiben, daher hat es nichts für $ data zu analysieren. –

+1

Ist dieser Rückgabetyp immer gleich? Wenn ja - mein einziger Gedanke ist, es irgendwo anders zu deklarieren (in einer Datei, die nur von IDE verwendet wird) und es als Rückgabetyp zu verwenden. Keine andere Möglichkeit - weder PHPDoc noch PhpStorm unterstützen diese Art von dynamischen Klassen (typhypinting "on the fly"). – LazyOne

Antwort

0

Ich schlage vor, Sie es en zusätzliche Modellklasse mit zu lösen.

enter image description here