Bonjour,
j'aimerai instancier des classes µPHP en fonction de la preference du systeme.
Je m'explique :
J'ai 3 Bases possibles : mysql, Oracle, PostgreSQL
J'ai 3 Classes (DB_MYSQL, DB_POSTGRE et DB_ORACLE) qui herite d'une classe abstraite IDataBase
Dans un fichier de preference nous pouvons specifier 1 de ces 3 bases (en cas d'erreur c POSTGRE qui est pris par defaut)
Je recupere une chaine de caractere de la sorte : "MYSQL", "POSTGRE" ou "ORACLE" en fonction du fichier de Pref
Maintenant pour instancier la bonne classe je fais :
$DB_PREF = "DB_".$VARPREF."()" // $varpref est egal a ORACLE ou POSTGRE ou MYSQL
Quand je fais un echo $DB_PREF j'obtiens par exemple "DB_POSTGRE()"
Helas quand je fais un $DB_OBJECT = &new $DB_PREF ça me chie dans la colle alors que en dure tout vas bien (il me dit : Cannot instantiate non-existent class: db_postgre() in /srv/www/htdocs/directory/System/system.php on line 368 )
Pourtant en dure ça passe : $DB_OBJECT = &new DB_POSTGRE() ;
QQn pourrais m'aider a trouver une solution pour generer une chaine de caracteres automatiquement et exploitable pour l'instancier en tant que classe ?