web-dev-qa-db-ja.com

JetBrains WebIDE:PHP変数タイプのヒント?

変数に何らかの型があることをWebIDEに示唆する方法はありますか?オブジェクトの配列を反復処理する必要がありますが、使用可能な自動補完はありません。これは、ZendStudioで役立ちます。

/* @var ClassName $object */

オブジェクトの配列を宣言する機能がJetBrainsにあることは知っています。

/**
 * @return ClassName[]
 */

ただし、これは関数の戻り値型でのみ機能します。

73
kolypto

/* @var ClassName $object */は無効なPHPDOCコメントであり、Web IDEの現在のバージョンでは解析されません。二重アスタリスクを使用して機能させる:

/** @var ClassName $object */

また、foreach($array as $var)$arrayに注釈を付けることができます。/** @var ClassName[] $array */および$varタイプは自動的に推測されます。

122

すでに指摘したように、PhpStormは通常のphpdocブロックを使用します:

/** @var ClassName $object */

ただし、 2.1 なので、Netbeans/Eclipse/Zendもサポートしています @ varアノテーション

/* @var $object ClassName */

コメントは/*ではなく/**で始まることに注意してください(したがって、phpdocで実際のドキュメントを生成する場合は表示されません)。また、PhpStormは任意の順序を受け入れますが、引数は交換されます:

/* @var ClassName $object */

最後になりましたが、ほとんど任意のコード行の前に置くことができます(技術的には、phpdocブロックは特定のアイテムに制限されます)。


編集:2019年の時点では、Netbeans/Eclipse/Zend @varアノテーションはほとんど放棄されているようです。 NetBeans 11はそれらをサポートしなくなり、一般に他のIDEではサポートされません。他の構文を使用することをお勧めします。

26