Nach mehreren Tagen Proben und einige Versuche später habe ich endlich eine Aufnahme, die ich gut genug finde. Yep, ist auch wieder ein wenig leise. Ich bekomme das schon noch raus. OGG-Direktlink (2,1 MB).
Not Tomorrow aus dem Spiel Silent Hill. Klaviernoten gibt es in der Video-Beschreibung von sosogood. Wow, trotz gleicher Noten klingen wir doch ganz schön verschieden. Ach, und falls die Wiedergabe im Browser versagt: Hier ist die OGG-Datei (4,1 MB).
class Egret {
protected $size; // cm
protected static $counter = 0;
public function __construct() {
$this->size = rand(27, 230);
self::$counter++;
}
public function __destruct() {
echo 'Krawg! Kraahg!! *I am dying!*' . PHP_EOL;
self::$counter--;
}
public function getSize() {
return $this->size;
}
public static function getCount() {
return self::$counter;
}
}
Für große und kleine Optimierungen werden häufig Caches eingesetzt. Im Bereich Webanwendungen meistens ein File-Cache. Beim ersten Aufruf einer Seite rattert der PHP-Code durch und die erzeugte HTML-Ausgabe wird als Datei gespeichert und ausgegeben. Bei jeder weiteren Anfrage wird dann nur noch auf die Datei zurückgegriffen. Der Gewinn besteht in geringerer Serverbelastung und schnellerer Ausgabe.
Bei meinen Unternehmungen die Datenbankanfragen zu reduzieren, musste ich die Ergebnisse kurzzeitig zwischenspeichern. Ein File-Cache wäre simpler Overkill und ein Datenbank-Cache wäre, nun, dämlich in dem Fall.
Zum Einsatz kommt jetzt eine kleine Klasse, die einfach nur Werte in Variablen speichert und in jedem Scope erreichbar ist. Aufgrund der kurzen Lebensdauer, die nur die Länge einer Seiten-Anfrage hat, heißt die Klasse „RequestCache“.