PHP-Framework – Wie kann ich PHP-Klassen-Array-Mitgliedsvariablen intelligent auffordern (automatisch vervollständigen)?

WBOY
Freigeben: 2023-03-02 12:10:01
Original
1272 Leute haben es durchsucht

<code>class a{
    static $config = [
        'id' => 1,
        'status' => ['status1'=>1,'status2'=>2]
    ];
  }
</code>
Nach dem Login kopieren
Nach dem Login kopieren

$s = new a();
echo s::config->id;
die;

So vervollständigt s::$config-> automatisch die ID und den Status....

Antwortinhalt:

<code>class a{
    static $config = [
        'id' => 1,
        'status' => ['status1'=>1,'status2'=>2]
    ];
  }
</code>
Nach dem Login kopieren
Nach dem Login kopieren

$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. . . . ! !
PHP-Framework – Wie kann ich PHP-Klassen-Array-Mitgliedsvariablen intelligent auffordern (automatisch vervollständigen)?

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage