La complétion de code pour les variables membres privées / protégées lors de l'utilisation de magie __get ()

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

Question

Comment puis-je l'achèvement du code de configuration pour travailler sur Zend Studio (ou tout IDE basé sur Eclipse) lorsque vous travaillez avec une classe qui a des variables membres privées ou protégées sans avoir recours à un bouquet de mise de Getter ou le membre vars comme public.

Par exemple:

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.
Était-ce utile?

La solution

La complétion de code des méthodes magiques peut être réalisé en utilisant le @ propriété et @method annotation dans le DocBlock de la classe (et non dans le Doc Method).

/**
 * @property string bark
 */
class Dog {
    /* ... */
}

$Dog = new Dog();
echo $Dog-> // will autocomplete now

Notez qu'il n'y a pas de corrélation entre le code réel et l'annotation. Zend Studio affichera tout ce que vous définissez pour @property, quelle que soit cette propriété existante. Il vérifiera également pas s'il est en fait une méthode magique disponible.

La complétion de code dans Zend Studio avec l'annotation @property

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top