Frage

Wie richte mich Code-Vervollständigung, um Arbeit auf Zend Studio (oder eine Eclipse-basierte IDE), wenn sie mit einer Klasse arbeiten, ohne auf ein Bündel von Getter privaten oder geschützten Membervariablen hat oder das Mitglied Einstellung vars als Public fest.

Zum Beispiel:

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.
War es hilfreich?

Lösung

Code-Vervollständigung für Magische Methoden können mithilfe der @ erreicht werden Immobilien und @method Anmerkung in der DocBlock der Klasse (nicht in der Methode Text & Tabellen).

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

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

Beachten Sie, dass es keine Korrelation zwischen dem Ist-Code und der Anmerkung. Zend Studio wird zeigen, was Sie für @property gesetzt, unabhängig von dieser Eigenschaft existiert. Es wird auch nicht überprüfen, ob es tatsächlich eine magische Methode zur Verfügung.

Code Completion in Zend Studio mit @property Anmerkung

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top