Ich habe eine Weile an meinem eigenen kleinen Framework gearbeitet, zu meinem eigenen Vorteil, und habe immer wieder den Code gelesen, während ich neue Sachen lerne. Wie zu erwarten, habe ich ein Registry-Objekt, das von fast jedem anderen Objekt verwendet wird.Was ist der effizienteste Weg, um mit einem Singleton zu interagieren?
Derzeit ist die grundlegendste Objekt (AFObject) ist ein wenig wie diese
absract class AFObject {
var $_registry;
function __construct(){
$this->_registry = AFRegistry::getInstance();
}
}
jedes Objekt jetzt so eingerichtet wird, einen lokalen Bezug auf die Registry enthalten. Wenn also Hunderte von Objekten zu einem Zeitpunkt instanziiert werden, sind das Hunderte von Referenzen auf den Singleton. Aber wäre es mehr oder weniger effizient sein, immer auf die Registry wie diese direkt zu beziehen ...
class AFRouter extends AFObject {
function someMethod($bar){
AFRegistry::$foo = $bar;
}
}
sollten Sie public, protected oder private anstelle des var-Schlüsselworts in PHP 5 verwenden. –