プライベート/保護されたメンバ変数のためのコード補完魔法__getを使用して()
-
26-09-2019 - |
質問
ゲッターのの束に頼るまたはメンバーを設定せずにプライベートまたは保護されたメンバ変数を持つクラスを操作する場合のZend Studioの(または任意のEclipseベースのIDE)上で動作するように私のセットアップのコード補完を行う方法パブリックとしてvarsは。
例えば、
class Dog {
protected $bark = 'woof!';
public function __get($key) {
if (isset($this->$key)) {
return $this->$key;
}
}
}
$Dog = new Dog();
echo $Dog->bark; // <-- I want the IDE to "know" that bark is a property of Dog.
解決
マジックメソッドのための
コード補完はを使用することによって達成することができます@プロパティと @method の注釈で(しない方法ドキュメントの)クラスのDocblock。
/**
* @property string bark
*/
class Dog {
/* ... */
}
$Dog = new Dog();
echo $Dog-> // will autocomplete now
実際のコードと注釈との間に相関がないことを注意。 ZendのStudioは、既存のこの性質に関係なく、@property
に設定されたものは何でも表示されます。実際に利用できる魔法の方法がある場合にも確認されません。
所属していません StackOverflow