global in einer Funktion in einer Klasse funktioniert nicht...
AllesMeins
- php
0 globe0 AllesMeins0 AllesMeins0 dedlfix
Hi,
folgendes Problem:
require_once('defs/sysData.def.php');
[A]
class UserInfo {
function __construct() {
[...]
}
function generate(){
global $sysData;
[B]
[...]
}
}
Das alles steht in einer Datei drinne. Wenn ich an Stelle [A] ein var_dum($sysData); mache, dann liefert das korrekterweise den Inhalt der variablen zurück. Versuche ich das ganze an Stelle [b], so kommt nur NULL zurück. Ansonsten wird nirgendwo mit der Variablen $sysData gearbeitet, ich überschreibe sie also nicht irgendwo ausversehen. Irgend eine Idee warum da snicht klappt? Irgendwie tappe ich nämlich ein wenig im dunkeln.
Marc
n'abend,
Das alles steht in einer Datei drinne. Wenn ich an Stelle [A] ein var_dum($sysData); mache, dann liefert das korrekterweise den Inhalt der variablen zurück. Versuche ich das ganze an Stelle [b], so kommt nur NULL zurück. Ansonsten wird nirgendwo mit der Variablen $sysData gearbeitet, ich überschreibe sie also nicht irgendwo ausversehen.
das schaut so aus, als würde UserInfo::generate() ein paar Ecken später ausgeführt werden, als der include(). Bist du sicher, dass da zwischendrin nichts schief geht? In deinem Beispielcode lässt sich jedenfalls kein Fehler erkennen.
weiterhin schönen abend...
Hi,
Bist du sicher, dass da zwischendrin nichts schief geht?
wüsste nicht was. Hab gerade extra nochmal suchen lassen, die Variable $sysData fasse ich in keinem einzigen anderen Script des Projekts an. Sie wird nur noch einmal in einem anderen Script genutzt, das zu dem Zeitpunkt aber gar nicht aktiv ist.
Ich bin sicher, dass es irgend ein total dämlicher Fehler ist, keine Frage. Aber mir gehen die Ideen aus, was es sein könnte...
Grüße
Marc
Hi,
noch ein Nachtrag. Habe gerade mal testweise das folgende gemacht:
$meineTestVar = $sysData; direkt nach dem include() und dann ein global $meineTestVar;
Trotzdem kommt kein Wert an. Und $meineTestVar ist eine Variable, die ich ganz sicher nirgends verwende. Gibt es sonst noch irgendwelche Ereigniss, die das funktionieren eines global beeinträchtigen könnten?
Grüße
Marc
echo $begrüßung;
Gibt es sonst noch irgendwelche Ereigniss, die das funktionieren eines global beeinträchtigen könnten?
Nichts dass ich wüsste. Versuche doch mal dein Problem mit dem kleinstmöglichen Code nachzustellen.
Wenn der Fehler dabei nicht auftritt, mach es andersrum: Lösche allen möglichen Code aus deinem derzeitigen Projekt (bzw. einer Kopie davon) solange bis der Fehler weg ist.
echo "$verabschiedung $name";