Cette question fait suite à mon précédent post situé aquí .
Comme il n'y a aucun moyen de poster à nouveau l'échantillon de code sans modifier votre message original, je commence un nouveau message. Et aussi, ceci contient du code PHP.
J'écris deux classes, la première pour ouvrir et fermer la connexion à la base de données, et la seconde pour fournir diverses fonctions réutilisables pour l'accès à la base de données.
Voici mon code PHP pour la classe Connection :
<?php
/**
* DBConnection Base Class Definition
*/
/* Include dependency */
require_once("\config\dbconfig.php");
abstract class dbconnection
{
var $conn;
//Opens connection for a MySQL DB
abstract function OpenConnection()
{
$conn = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD)
or die($this->ShowError(mysql_error()));
mysql_select_db(DB_NAME) or die ($this->ShowError("Connection to MySQL Database Failed. "));
}
//Closes connection for a MySQL DB
abstract function CloseConnection()
{
try
{
mysql_close($conn);
}
catch(exception $ex)
{
$this->ShowError($ex);
}
}
protected function ShowError($err)
{
echo "<script>alert('Error: ' +". $err .");</script>";
}
}
?>
Le fichier inclus dans le code ci-dessus contient le code suivant :
<?php
//Modify constants with data needed to access your own database
define('DB_HOST','localhost:3306');
define('DB_NAME','MyStore');
define('DB_USER','super');
define('DB_PASSWORD','****');
?>
Voici maintenant mes questions relatives aux classes abstraites et aux interfaces (suite de mon post précédent) :
(1) Une classe de connexion peut-elle être abstraite ? Les méthodes sont-elles écrites correctement ?
(2) Au lieu de faire du second code un fichier "dbconfig.php", serait-il bon de créer une interface pour celui-ci ?