PHP WARNING: USE OF UNDEFINED CONSTANT [LÖSUNG]

ASSUMED 'XXXX' (THIS WILL THROW AN ERROR IN A FUTURE VERSION OF PHP)

    Inhaltsangabe
  1. Die Lösung
    1. Suchen
    2. Ersetzen
  2. Fazit

Nach dem letzten Update von unserer php Version haben wir eine Warnungen angezeigt bekommen. Diese Warnung handelte davon, dass wir bei der Angabe von den Schlüsseln der Assoziativen Arrays keine Anführungszeichen benutzt hatten. Zum Beispiel hatten wir $section[title] anstatt $section[‚title‘] geschrieben.

Dieses Problem habe ich durch einfaches suchen und ersetzen mit meinem Editor gelöst. Diese Methode könnt ihr auch bei euch anwenden, wenn euer Editor eine regex suchen und ersetzen unterstützt.

Die Lösung

Ich benutze den atom Editor und würde euch diesen Editor auch empfehlen. Falls ihr anderer Meinung seid, schreibt sie mir gerne.

Suchen

\$([a-zA-Z]+)\[([a-z_A-Z0-9]+)\]

In eurer Suche solltet ihr den oben angegebenen Snippet eintragen. Bitte geht dabei sicher, dass die regex suche aktiviert ist. Es wird hierbei nach folgendem gesucht:

  • Dollarzeichen
  • Eckige Klammer auf
  • Buchstaben, Zahlen und Unterstriche
  • Eckige Klammer zu

Bei der Suche wird der Variablenname und der Schlüssel des Assoziativen Arrays zur Wiederverwendung gespeichert.

Ersetzen

Die Zeichenkette die wir beim ersetzen eingeben ist viel einfacher zu verstehen. Es wird das Array erneut aufgebaut aber diesmal werden bei der Angabe der Schlüssel Anführungszeichen verwendet. Der Snippet sieht so aus:

$$$1['$2']

Fazit

Diese Lösung hat mir bereits bei mehreren Projekten geholfen und dank der REGEX Suche habe ich sehr viel Zeit einsparen können. Das Problem war, dass die Angabe von Array Schlüsseln ohne Anführungszeichen den Anschein erweckt, dass es sich hierbei um eine Konstante handelt.

Themen

php Programmieren Technik Tipps

Beitrag teilen

WhatsAppen

Folgen Sie uns