Я использую NetBeans в качестве своей IDE.Всякий раз, когда у меня есть код, который использует другую функцию (обычно фабрику) для возврата объекта, обычно я могу сделать следующее, чтобы помочь с подсказкой:
/* @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
, и знание методов и свойств класса было бы полезно.
Конечно, есть более простой способ ...