【发布时间】:2010-12-13 18:42:06
【问题描述】:
这个问题是我之前的帖子here的延续。
由于无法在不编辑原始帖子的情况下再次发布代码示例,因此我正在开始新帖子。而且,它还包含 PHP 代码。
我正在写两个类,第一个是用于打开和关闭与数据库的连接,第二个是为数据库访问提供各种可重用的功能。
下面是我的 Connection 类的 PHP 代码:
<?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>";
}
}
?>
上述代码中包含的文件包含以下代码:
<?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','****');
?>
现在这里是我与抽象类和接口相关的查询(接我之前的帖子):
(1) 连接类可以是抽象的吗?方法写对了吗?
(2) 与其把第二段代码做成一个文件“dbconfig.php”,不如给它做一个Interface好吗?
【问题讨论】:
标签: php oop interface abstract-class