私はPhpStorm 2016.2.1
IDEを使用します。私は型付きの配列を持っています(すべてのメンバーは既知のクラスと同じです)。IDEが型を知っているので、自動補完/ intellisenseで私を助けることができます。PhpStorm:配列メンバーのvar型を指定する方法は?
class MyClass{
/**
* @var array
*/
public $userArray;
public addUser($uid){ $this->$userArray[$uid] = new User($uid); }
public processUser($uid){
$oUser = $this->$userArray[$uid];
//since the PHP array can contain anything, the IDE makes
//no assumption about what data type $oUser is. How to let it
//know that it's of type User?
}
}
私はこれまでのところ、私は仕事に得ている唯一のことは、ゲッター機能を使用することです...
/**
* @var User
*/
public $oUser = ...;
も
/**
* @type User
*/
public $oUser = ...;
を試してみました:
/**
* @return User
*/
function getUser($uid){ return $this->$userArray[$uid]; }
function processUser($uid){
//now the IDE knows the type of $oUser
$oUser = $this->getUser($uid);
}
しかし、スクリプトを遅くするより良いIDEサポートを得るために必要な関数呼び出しは悪い考えです。
私はPhpStormにどのように変数の種類を知らせることができますか?それとも、配列のどのタイプにその配列のメタデータのPHPDoc
が含まれるかをどのように伝えるか?クラス変数の場合
おかげ詳細はPHPDoc manualを参照してください。ローカル変数のために働く!型付き配列を示す方法はありますか? – BeetleJuice
'@var User []'を使ってUserオブジェクトの配列を提案することはできますが、PHPStormがまだサポートしているかどうかは分かりません(https ://www.phpdoc.org/docs/latest/guides/types.html#arrays – rjdown
もう一つの選択肢は、foreachループ内でヒントを提供することです。 – rjdown