PHP Superglobals "global"

php super global variables

PHP Superglobals "global"

In meiner langen Erfahrung habe ich so viele Programme gesehen, die das "global"-Schlüsselwort verwendet wurden.

Ein paar typische Beispiele sind "global $options;", "global $c", "global $C", "global $b", "global $a", "global $_AUTH", "global $username", "global $password", "global $db" oder "global $_PDO".

Oh mein Gott "global $c" und "global $C"!!!

Verwenden Sie bitte keine globalen Variablen, so einfach ist das.

Warum nicht Globals verwenden?

Denn die Verwendung von Globals erschwert die langfristige Pflege der Software.

  • Ein globales Element kann an einer beliebigen Stelle im Code deklariert werden oder auch gar nicht. Daher gibt es keinen Ort, an dem Sie instinktiv nach Kommentaren darüber suchen können, wofür das globale Element verwendet wird
  • Beim Lesen von Code gehen Sie normalerweise davon aus, dass Variablen lokal für die Funktion sind, und verstehen nicht, dass die Änderung des Werts einer Funktion eine systemweite Änderung nach sich ziehen kann.
  • Wenn sie nicht mit Eingaben umgehen, sollten Funktionen den gleichen Wert / die gleiche Ausgabe zurückgeben, wenn sie mit denselben Parametern aufgerufen werden. Die Verwendung von Globals in einer Funktion führt zusätzliche Parameter ein, die nicht in der Funktionsdeklaration enthalten sind.
  • Globals haben kein spezielles Initialisierungskonstrukt. Daher können Sie nie sicher sein, wann Sie auf den Wert des Globals