Heim > Artikel > Backend-Entwicklung > PHP-Framework – Wie kann ich PHP-Klassen-Array-Mitgliedsvariablen intelligent auffordern (automatisch vervollständigen)?
<code>class a{ static $config = [ 'id' => 1, 'status' => ['status1'=>1,'status2'=>2] ]; } </code>
$s = new a();
echo s::config->id;
die;
So vervollständigt s::$config-> automatisch die ID und den Status....
<code>class a{ static $config = [ 'id' => 1, 'status' => ['status1'=>1,'status2'=>2] ]; } </code>
$s = new a();
echo s::config->id;
die;
So vervollständigt s::$config-> automatisch die ID und den Status....
Natürlich können Sie es tun, Sie können phpdoc-Annotationen und eine Hilfsklasse verwenden, die die ArrayAccess-Schnittstelle implementiert und über die von Ihnen benötigten Eingabeaufforderungsattribute verfügt.
Das Prinzip besteht tatsächlich darin, die IDE fälschlicherweise denken zu lassen, dass das Array eine Klasse ist, und automatisch zur Vervollständigung des Attributnamens aufzufordern. ArrayAccess hat die „schwarze“ Magie, Klassenobjekte als Arrays zu betreiben.
Die Code-Eingabeaufforderungen der IDE generieren beim Laden des Projekts Indizes und starten dann beim Eingeben relevanter Zeichen Eingabeaufforderungen für den Abruf. Wenn Sie auch nach Arrays fragen, ist die Wahrscheinlichkeit äußerst gering, dass dies zu viele Ressourcen verbraucht und sie alle unvollständig sind -Suchen stoppen. Wenn Sie jedoch sublime verwenden, werden die zuletzt verwendeten Wörter angezeigt, die möglicherweise Ihren Anforderungen entsprechen
phpstorm kann Klassenmitgliedsvariablen automatisch auffordern. Die Elemente, die Mitgliedsvariablen vom Array-Typ auffordern, wurden noch nicht behandelt
Allgemeine IDE-Entwicklungstools werden Klassenmitgliedsvariablen und Klassenmitgliedsmethodennamen auffordern, aber ich habe die von Ihnen erwähnte Eingabeaufforderung noch nicht gefunden.
Grundsätzlich nicht möglich, diese Arrays werden zur Laufzeit erstellt und sind derzeit nicht auf diesem Niveau.
Zum Beispiel:
Ich möchte einen Schlüssel im Array im Code löschen, was soll ich tun?
Diese Art von Vervollständigungskommentaren und Vervollständigung auf Array-Strukturebene ist nicht so praktisch wie das Studium von PHPdoc
ArrayAccess
Die neuere Version von phpstorm unterstützt es bereits. Heute sagte mein Kollege, dass er eine Eingabeaufforderung habe, und meine const-Array-Anweisung wurde sofort in den roten Zahlen angezeigt. . . . Sein PHPstorm unterstützt es. . . . ! !
PHPDoc +1 Sie können auf http://www.07net01.com/progra... verweisen
Einige IDEs können dies erreichen. Sie können auch das entsprechende Plug-In installieren. Es wird empfohlen, sublime zu verwenden