プライベート/保護されたメンバ変数のためのコード補完魔法__getを使用して()

StackOverflow https://stackoverflow.com/questions/3814733

質問

ゲッターのの束に頼るまたはメンバーを設定せずにプライベートまたは保護されたメンバ変数を持つクラスを操作する場合の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に設定されたものは何でも表示されます。実際に利用できる魔法の方法がある場合にも確認されません。

@property注釈付きのZend Studioのコード補完

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top