Mailinglisten-Archive |
Ok wegen allgemeiner Nebelschwaden Poste ich mal den Kompletten Code. Wichtig ist halt das ich in der Klasse von der ich ein Objekt haben möchte nichts geändert werden soll. <?php /* Beispiel Singleton Klasse */ function &singleton($class, $param = array()) { static $singleton; if (!is_object($singleton)) { $singleton = new singleton(); } return $singleton->instance($class, $param); } class singleton { var $instances = array(); function singleton() { } function instance($class, $param) { if ( !@is_object($this->instances[$class]) ) { $str = ""; $count = count($param); for ($i = 0; $i < $count; $i++) if ($i == $count-1) {$str .= "\$param[".$i."]";}else{$str .= "\$param[".$i."], ";}; eval( "\$this->instances[\$class] = new \$class($str);"); } return $this->instances[$class]; } } /* Beispiel für Objekt */ class db { var $db_host; var $db_name; var $db_user; var $db_pass; function db($user, $pass, $host, $db) { //hier weitere verarbeitung } } /* Anwendungsbeispiele */ $db = singleton('db',array('root', '', 'localhost', 'test')); ?>
php::bar PHP Wiki - Listenarchive