Ich habe es mit einem wirklich alten Drupal-Projekt zu tun, das voller SQL-Abfragen ist. PhpStorms Verständnis von SQL ist sehr praktisch, aber ich habe Probleme mit Drupalismus wie {table_name}
. IDE beschwert sich darüber <reference> expected, got '{'
.
Wie kann ich PhpStorm so einrichten, dass es versteht, dass die Zeichenfolge in geschweiften Klammern nur ein Tabellenname ist? Oder zumindest die geschweiften Klammern ignorieren lassen?
Antworten:
In den PhpStorm-Einstellungen> Extras> Datenbank> Benutzerparameter:
\{\w+\}
zu Parametern Patterns.Sie können auch die Zeile mit ändern
%\w+
, um für Sprache PHP für Platzhalter wie erlaubt zu sein%d
. Siehe Screenshot und auch den PhpStorm-Blogbeitrag von JetBrain: Konfiguration der Datenbankspracheninjektion .quelle
\{\w+\}
,\{(\w+)\}
um besser mit der Abfrageausführung von PhpStorm zu arbeiten (die Tastenkombination Strg + Eingabetaste). Wenn Sie versuchen, die Abfrage ohne die zusätzlichen Klammern auszuführen, werden Sie aufgefordert, einen Parameter mit dem Namen # 1 für Ihre Eingabe einzugeben.{table_name}
Mit den Klammern werden Sie jedoch hilfreicher aufgefordert, einen Parameter für table_name einzugeben .SELECT * FROM {node} WHERE nid = :nid
Tastenkombination Strg + Eingabetaste drücken, werden die folgenden Eingabeaufforderungen angezeigt: mit Klammern und ohne Klammern .Ich kenne keine Möglichkeit, PHPStorm dazu zu bringen, die Drupal SQL-Syntax zu erkennen.
Wenn Sie jedoch nur eine von Drupal erstellte Abfrage debuggen möchten, können Sie die geschweiften Klammern aus der Abfrage entfernen, nachdem Sie sie in die PHPStorm-Abfragekonsole kopiert haben.
quelle