phpbar.de logo

Mailinglisten-Archive

[php] Singleton in mehrfach extendeten Klassen inkl. autoload...

[php] Singleton in mehrfach extendeten Klassen inkl. autoload...

Sascha Grossenbacher saschagros at gmail.com
Mi Mai 19 17:49:55 CEST 2010


Hallo

2010/5/19 Jens Reinemuth <jens at reinemuth.info>:
> Hallo allesamt,
>
> stehe hier grad tooootal auf dem Schlauch.
>
> Ich habe eine Basis-Klasse namens "openWebX", welche alle
> magic-Functions beinhaltet, um z.B. bei __get eine Exception zu
> schmeissen o.ä.
>
> Nun habe ich da auch versucht eine Singleton-Funktion zu bauen, a la:
>
> class openWebX {
>
>    public static $instances = array();
>
>    private function __construct() {
>    }
>
>    static function init($strObject,$mixedParams='') {
>        if(!in_array($strObject, self::$instances)) {

in_array() prüft den *Wert*, du willst jedoch den Key prüfen. Also
einfach if (!isset(self::$instances[$strObject]))....

Hinweis am Rande, starke Kopplung, also z.B. wie in deinem Fall alle
Klassen von einer zentralen Klasse ableiten ist eine keine gute
Architektur. Siehe auch http://de.wikipedia.org/wiki/Lose_Kopplung

Gruss Sascha

php::bar PHP Wiki   -   Listenarchive