Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Cornelius
Voilà ma solution mais comme il y a toujours mieux...
<?PHP /* Objet de connexion avec la base de données Regroupe toutes les fonction SQL nécessaires au portail */ define ("ERR_PAGE", "connection_error.php"); if (PHP_OS == "Linux") define("DB_PROTOCOL", "sybase"); else define("DB_PROTOCOL", "ODBC");
switch(DB_PROTOCOL) { case "sybase": include("u_sql_sybase.class.php"); break; case "ODBC": include("u_sql_odbc.class.php"); break; default: echo "Type de base de données inconnue"; exit( ); break; } ?>
"Cornelius" a écrit dans le message de news:3f7c25ee$0$10421$
Salut à tous.
J'aimerais délcarer une classe mais celle-ci doit être subordonnée à certain
paramètres. exemple:
class u_sql { if ($is_base == "odbc") var $toto ... else { var $tata; function uf_... } }
Ya-t-il plus simple et plus rapide ? (comme le #define en C/C++)
Voilà ma solution mais comme il y a toujours mieux...
<?PHP
/*
Objet de connexion avec la base de données
Regroupe toutes les fonction SQL nécessaires au portail
*/
define ("ERR_PAGE", "connection_error.php");
if (PHP_OS == "Linux")
define("DB_PROTOCOL", "sybase");
else
define("DB_PROTOCOL", "ODBC");
switch(DB_PROTOCOL) {
case "sybase":
include("u_sql_sybase.class.php");
break;
case "ODBC":
include("u_sql_odbc.class.php");
break;
default:
echo "Type de base de données inconnue";
exit( );
break;
}
?>
"Cornelius" <support@mirosoft.com> a écrit dans le message de
news:3f7c25ee$0$10421$626a54ce@news.free.fr...
Salut à tous.
J'aimerais délcarer une classe mais celle-ci doit être subordonnée à
certain
paramètres.
exemple:
class u_sql {
if ($is_base == "odbc")
var $toto ...
else {
var $tata;
function uf_...
}
}
Ya-t-il plus simple et plus rapide ? (comme le #define en C/C++)
Voilà ma solution mais comme il y a toujours mieux...
<?PHP /* Objet de connexion avec la base de données Regroupe toutes les fonction SQL nécessaires au portail */ define ("ERR_PAGE", "connection_error.php"); if (PHP_OS == "Linux") define("DB_PROTOCOL", "sybase"); else define("DB_PROTOCOL", "ODBC");
switch(DB_PROTOCOL) { case "sybase": include("u_sql_sybase.class.php"); break; case "ODBC": include("u_sql_odbc.class.php"); break; default: echo "Type de base de données inconnue"; exit( ); break; } ?>
"Cornelius" a écrit dans le message de news:3f7c25ee$0$10421$
Salut à tous.
J'aimerais délcarer une classe mais celle-ci doit être subordonnée à certain
paramètres. exemple:
class u_sql { if ($is_base == "odbc") var $toto ... else { var $tata; function uf_... } }
Ya-t-il plus simple et plus rapide ? (comme le #define en C/C++)
Damien Metzler
Salut à tous.
J'aimerais délcarer une classe mais celle-ci doit être subordonnée à certain paramètres. exemple:
class u_sql { if ($is_base == "odbc") var $toto ... else { var $tata; function uf_... } }
Ya-t-il plus simple et plus rapide ? (comme le #define en C/C++)
Et à quoi ça te sert de faire une classe si tu n'utilise pas les propriétés de la POO
Exemple : Tu fais une classe abstraite u_sql (interface dans php5) Tu fais des classes dérivées qui implémentent cette interface: u_sqlodbc, u_sqloracle etc...
Et pour les construire tu utilise le design pattern Factory :
class SQLFactory { procedure CreateSQL($type) { switch($type) { 'odbc' : return new u_sqlodbc(); 'oracle' : return new u_sqloracle(); } }
$sql=SQLFactory::CreateSQL('odbc');
C'est codé sur le tas, donc faudrait vérifier que ça marche ;) Mais dans l'idée c'est ça, il me semble que le package DB de PEAR implémente le pattern Factory.
De ce que j'ai vu de PHP5, ça devrait mieux marcher avec (notamment pour le passage des objets par référence). Sinon tu peux toujours mettre tes classes dans différents fichiers et faire un include dans la factory
Salut à tous.
J'aimerais délcarer une classe mais celle-ci doit être subordonnée à certain
paramètres.
exemple:
class u_sql {
if ($is_base == "odbc")
var $toto ...
else {
var $tata;
function uf_...
}
}
Ya-t-il plus simple et plus rapide ? (comme le #define en C/C++)
Et à quoi ça te sert de faire une classe si tu n'utilise pas les
propriétés de la POO
Exemple :
Tu fais une classe abstraite u_sql (interface dans php5)
Tu fais des classes dérivées qui implémentent cette interface:
u_sqlodbc, u_sqloracle etc...
Et pour les construire tu utilise le design pattern Factory :
class SQLFactory {
procedure CreateSQL($type) {
switch($type) {
'odbc' : return new u_sqlodbc();
'oracle' : return new u_sqloracle();
}
}
$sql=SQLFactory::CreateSQL('odbc');
C'est codé sur le tas, donc faudrait vérifier que ça marche ;)
Mais dans l'idée c'est ça, il me semble que le package DB de PEAR
implémente le pattern Factory.
De ce que j'ai vu de PHP5, ça devrait mieux marcher avec (notamment pour
le passage des objets par référence).
Sinon tu peux toujours mettre tes classes dans différents fichiers et
faire un include dans la factory
J'aimerais délcarer une classe mais celle-ci doit être subordonnée à certain paramètres. exemple:
class u_sql { if ($is_base == "odbc") var $toto ... else { var $tata; function uf_... } }
Ya-t-il plus simple et plus rapide ? (comme le #define en C/C++)
Et à quoi ça te sert de faire une classe si tu n'utilise pas les propriétés de la POO
Exemple : Tu fais une classe abstraite u_sql (interface dans php5) Tu fais des classes dérivées qui implémentent cette interface: u_sqlodbc, u_sqloracle etc...
Et pour les construire tu utilise le design pattern Factory :
class SQLFactory { procedure CreateSQL($type) { switch($type) { 'odbc' : return new u_sqlodbc(); 'oracle' : return new u_sqloracle(); } }
$sql=SQLFactory::CreateSQL('odbc');
C'est codé sur le tas, donc faudrait vérifier que ça marche ;) Mais dans l'idée c'est ça, il me semble que le package DB de PEAR implémente le pattern Factory.
De ce que j'ai vu de PHP5, ça devrait mieux marcher avec (notamment pour le passage des objets par référence). Sinon tu peux toujours mettre tes classes dans différents fichiers et faire un include dans la factory