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が設定されている場所を試したりしました。
これまでに見つけた唯一の回避策は次のとおりです。
public function bat()
{
$this->foo = FactoryClass::get('Foo');
/* @var $extraVariable FooClass */
$extraVariable = $this->foo;
$extraVariable-> // now has hinting.
}
$this->foo
ただし、他の多くの関数が を使用する可能性があり、クラスのメソッドとプロパティを知っていると役立つため、ヒントをクラス全体に適用したいと思います。
確かにもっと簡単な方法があります...