Für mein bevorstehendes Projekt arbeite ich gerade an der Entwicklung meiner kleinen Bibliothekensammlung (Framework). Anwendungen sollen später spielend leicht auf eine MVC- bzw. HMVC Basis aufbauen und dementsprechend leicht erweiterbar und austauschbar sein. Wie so oft möchte ich auf die Vorzüge des registry patterns nicht verzichten und habe mir dementsprechend eine Lösung implementiert.
Nach der Implementierung kam mir die Idee, Objekte nicht direkt in die registry abzulegen, sondern vielleicht in verschiedene Dateien zu abzulegen und bei Bedarf dynamisch nachzuladen.
Frage
Wäre ein Cachevorgang für Objekte in PHP überhaupt sinnvoll bzw. wie verhält sich die Idee in Hinsicht auf die Performanz bei etwas größeren Projekten?
PHP-Code:
<?php
/**
* Die Registry fungiert als Ablage für verschiedene Parameter und
* Werte. Die Registry wird dabei als Singleton angesprochen.
*/
class Registry {
/**
* Singleton Instanz
*
* @static
* @access private
* @var Registry
*/
private static $instance;
/**
* Ablage für verschiedene Komponenten
*
* @access private
* @var Array[Key, Value]
*/
private $entries;
/**
* Liefert gemäß dem Singleton-Pattern eine Instanz der
* Klasse Registry zurück.
*
* @static
* @access public
* @return Registry
*/
public static function getInstance() {
if (self::$instance == null) {
self::$instance = new Registry();
}
return self::$instance;
}
/**
* Fügt der Ablage eine neue Komponente hinzu.
*
* @access public
* @param String
* @param Mixed
*/
public function __set($key, $entry) {
$this->entríes[$key] = $entry;
}
/**
* Liest den gewünschten Eintrag aus.
*
* @access public
* @param String
* @return Mixed
*/
public function __get($key) {
return $this->entries[$key];
}
private function __construct();
private function __clone();
}
?>
Frage
Wäre ein Cachevorgang für Objekte in PHP überhaupt sinnvoll bzw. wie verhält sich die Idee in Hinsicht auf die Performanz bei etwas größeren Projekten?
Kommentar