私はIDEとしてNetBeansを使用しています。私は、オブジェクトを返すために別の関数(通常は工場出荷時)を使用するいくつかのコードを持っているときはいつでも、一般的に私はヒンティングを支援するために次の操作を行うことができます。
/* @var $object FooClass */
$object = $someFunction->get('BarContext.FooClass');
$object-> // now will produce property and function hints for FooClass.
しかし、私はそのクラスを格納するオブジェクトのプロパティを使用する際に、私はtrying to use @var $this->foo or @var foo
が通過ヒンティングを運ぶないだろうと、同じことを行うにはどのように損失のビットでよ:
use Path\To\FooClass;
class Bar
{
protected $foo;
public function bat()
{
$this->foo = FactoryClass::get('Foo'); // Returns an instance of FooClass
$this->foo //does not have hinting in IDE
}
}
私はクラスのためのdocblockにしようとした、またはprotected $foo
場合や、上記のインラインコメントを使用していますfooはインスタンスに設定されます。
私がこれまでに発見した唯一の回避策は、以下のとおりです。私は本当にヒントは、他の多くの機能が潜在的に$this->foo
を使用することができます、しかし、クラス全体も持ちたい、とクラスのメソッドを知っているだろう
public function bat()
{
$this->foo = FactoryClass::get('Foo');
/* @var $extraVariable FooClass */
$extraVariable = $this->foo;
$extraVariable-> // now has hinting.
}
特性が有用である。
きっともっと簡単な方法があります...私はそれがNetBeansでどのように機能するか
@Nick NetBeansのオブジェクトプロパティでは、変数名はなく、 '@ var'と型だけが書かれています。 –
はい!素晴らしい!ありがとうございました。 '@var FooClass'は完全に動作します。 – Nick