Code Completion für private / geschützte Membervariablen, wenn Magie __get mit ()
-
26-09-2019 - |
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.
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.