Andi: Klasse verliert Werte

Beitrag lesen

Hallo,

erstmal haben wir kein PHP5. Ich habe also meine Interfaces so geschrieben, dass sie in PHP4 funktionieren.
Folgender Code:

class cDB {
    function connect($server="",$user="",$passwd="") {
      $tmp = cDB::fLateChoose();
      $tmp->connect($server,$user,$passwd);
    }
    function fLateChoose($type="") {
      return createDB($type);
    } // end function fLateChoose

function errno() {
      $tmp = cDB::fLateChoose(); return $tmp->errno();
    }
}

function createDB($type) {
    static $objects = array();

if(!isset($objects[$type]))
      $objects[$type] = eval("return new cMySQL();");

return $objects[$type];
}

Hier wird eine Klasse erstellt und sie dann in tmp abgelegt.
Folgender Code:

class cMySQL extends cDB {
    function connect($server,$user,$passwd) {
      $this->Resource = mysql_connect($server,$user,$passwd) or die("Uschtl");
    }

function errno() {
      return mysql_errno($this->Resource);
    }
}

So wenn ich diese Beispiel dann folgendermaßen aufruf:

$cDB = new cDB();
$cDB->connect($host,$clogin,$cpassword);
$cDB->errno();

Bekomme ich die Fehlermeldung das Linkresource nicht stimmt. Also keine MySQL-Ressource ist.
Beim Debuggen ist mir aufgefallen, dass die Änderungen die ich in der Klasse cMySQL mache nicht in die Variable objects übernommen werden.

Kann mir jemand einen Rat geben :(

Grüße
Andi