Hallo Leute,
ich verwende Joomla 1.5.15 und versuche gerade die DB-Zugriffe zu verringern. Dazu habe ich eine Helper-Klasse, in der ich ein paar allgemeine Funktionen definiert habe die das Resultat dann auch Cachen. Diese Klasse wird in der Komponente eingebunden.
Die Klasse sieht ungefähr so aus:
Nun ist mir aufgefallen, dass dieser Query trotzdem mehrmals ausgeführt wird. Ich verwende diese Funktion in 3 verschiedenen Modulen. Der Query wird 3-mal ausgeführt.PHP-Code:class Helper {
private $names;
function getName($id)
{
if(!empty($this->names)) {
return $this->names[$id]['name'];
}
$db =& JFactory::getDBO();
$query = "SELECT id,name FROM #__fields WHERE published = '1' ORDER BY id";
$db->setQuery($query);
$this->names = $db->loadAssocList('id');
return $this->names[$id]['name'];
}
...
Wenn ich die 3 Module in die selbe Templateposition stecke, dann wird er nur noch 1-mal ausgeführt.
Kann mir jemand erklären wieso das so ist und wie ich das fixen kann? Bin noch nicht so fit in PHP und kann mir das gerade gar nicht erklären.
Danke schon mal.


LinkBack URL
About LinkBacks
Zitieren
Lesezeichen