2009-11-29 10 views
56

WebIDEに変数に何らかの型があることをヒントできますか? オブジェクトの配列を反復処理する必要があり、オートコンプリートは使用できません。 これはZendStudioに役立ちます:JetBrains WebIDE:PHP変数型ヒント?

/* @var ClassName $object */ 

私はオブジェクトの配列を宣言するためにジェットブレーンズに特徴があります知っている:

/** 
* @return ClassName[] 
*/ 

しかし、これは、関数の戻り値の型でのみ動作します。

+0

これは配列で動作します。特定の型を反復処理するArrayIteratorで動作しますか? – redestructa

答えて

97

/* @var ClassName $object */は無効なPHPDOCコメントで、Web IDEの現行バージョンでは解析されません。それを動作させるために、二重のアスタリスクを使用します。

/** @var ClassName $object */ 

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

+0

は角括弧の表記についてはわかりません – sanya

+2

関連する質問:私のPHPクラスは変数にマジックゲッターを使用しています。そのゲッター変数をClassオブジェクトにバインドしたいと思います。自分のクラスで変数を定義することはできません。 –

+0

うわー..ちょうど楽しみのためにグーグルで、実際にはこれが事実になることを望んでいない..私は決して人生で間違っていたと私は間違っていたことが幸せです!この機能はとてもクールです、ありがとう! :) –

19

がすでに指摘し、PhpStormは、通常のphpdocのブロックを使用します。ただし

/** @var ClassName $object */ 

、2.1 Netbeansの/エクリプス/ Zendの@var annotationsのサポートもありますので、:

/* @var $object ClassName */ 

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

/* @var ClassName $object */ 

なく、少なくとも最後に、彼らはほとんどのコードの任意の行を先行することができるが(技術的には、phpdocのブロックは、特定の項目に制限されています)。

関連する問題