Zugriff auf statische Variable nicht möglich?!
Jens Schärer
- php
0 dedlfix
Hallo,
ich habe folgenden Codeschnippsel:
//Query-Cache
protected static $queryCache = array();
[...]
protected function cacheQuery($query, $fetchmode)
{
$key = md5($query . $fetchmode);
if(!array_key_exists($key, Dao::$queryCache))
{
Dao::$queryCache[$key] = new RecordSet($this->dbObj->Execute($query));
}
return Dao::$queryCache[$key];
}
[...]
Folgendes soll passieren: Ich prüfe ab, ob die Query mit dem MD5-Hash bereits existiert und gebe entsprechend den entweder zuvor angelegten Datensatz zurück oder den neu angelegten.
Wenn ein neuer Datensatz angelegt wird und dann das Element zurückgegeben wird, funktioniert es. Soll aber ein Datensatz aus dem Cache geliefert werden, läuft es schief, die Daten kommen scheinbar nicht dort an wo sie hinsollen, sind aber im Cache vorhanden!
Wo liegt da mein Denkfehler?
Gruß,
Jens
echo $begrüßung;
Wo liegt da mein Denkfehler?
Noch weiß ich das nicht. Ich kann das Problem nicht nachvollziehen. Dein Codeausschnitt verschweigt auch einige Dinge:
Steht das error_reporting auf E_ALL? Hast du mal alle beteiligten (oder zumindest strategisch wichtige) Zwischenergebnisse mit var_dump() ausgegeben?
Versuche das Problem in einem kleinstmöglichen Script nachzustellen. Das ist dann auch für Außenstehende besser nachzuvollziehen.
echo "$verabschiedung $name";