dedlfix: Fehler bei m Aufruf der Globalen Varibale

Beitrag lesen

Tach!

ich möchte auf eine Super globale Variable in einer Funktion zugreifen
Die super globale Variable hat eine Instanz auf die Klasse MySQL in der meine Scripts zum Datenbank zugriff liegen.

Superglobale Variablen kannst du nicht selbst erstellen. Sie sind beschränkt auf das was PHP vorgibt.

Definition der Super Globalen Variable DB im Script: common.php
$DB = new \System\Database\MySQL(DB_SERVER,DB_USER,DB_PASSWORD,DB_NAME,DB_PORT);

Das ist lediglich eine normale globale Variable, wenn sie im globalen Scope erstellt wurde.

Aus irgend einem grund kann ich nicht auf diese Variable zugreifen.

Zugreifen in Funktionen geht nur über das Schlüsselwort global oder das $GLOBALS-Array.

Kann mir jemand helfen?

Üblicherweise ist sowas aber schlechter Stil. Man sieht der Funktion nicht an, dass sie bestimmte Dinge voraussetzt. Eine Übergabe als Parameter zeigt das hingegen deutlich. Ein "global" gleich zu Beginn der Funktion mag einen einfach sichtbaren Hinweis demjenigen geben, der den Quelltext liest. Aber eben nur dem. Weiterhin ist eine Initialisierungsreihenfolge vorgeschrieben, ohne dass sie sich aus dem Code selbst ergibt. Wenn du das DB-Handle als Parameter übergeben müsstest, geht daraus bereits klar hervor, dass dieses zunächst erstellt werden muss.

dedlfix.