est ici celui que je suis en utilisant:Une façon plus simple et plus efficace de créer une classe mysql singleton db en php?
<?php
final class Database {
private static $oDb;
public static function init() {
if(self::$oDb == NULL)
{
self::$oDb = mysql_connect('localhost', 'mysql_user', 'mysql_password') or die(mysql_error());
mysql_select_db('mysql_db_name', self::$oDb) or die (mysql_error());;
}
return self::$oDb;
}
public function query($sql)
{
return mysql_query($sql) or die(mysql_error());
}
}
?>
Utilisation:
$oDb = Database::init();
$sql = foo;
$oDb->query($sql);
En supposant que je ne veux que de se connecter et d'exécuter cette une fonction de requête, y at-il des améliorations que je dois faire sur le classe? Mémoire ou efficacité du code?
De même, existe-t-il un moyen efficace pour obtenir les informations d'identification db à partir d'un fichier de configuration? Je sais que je ne peux pas utiliser inclut dans ma classe.
Pourquoi ne pouvez-vous pas utiliser l'intérieur de votre classe? Il n'y a aucune raison technique pour laquelle vous ne pouvez pas essayer de l'éviter à partir d'une pratique de codage. –
Je pense qu'il pense que vous ne pouvez pas l'utiliser en dehors d'une fonction ... –
Mes fichiers de configuration sont juste des ensembles de 'define (" nom "," valeur ");'. Aucune analyse requise. –