抽象类';n接口,特别是在PHP中
这个问题是我上一篇文章的延续 既然没有办法在不编辑您的原始帖子的情况下再次发布代码示例,我将开始一篇新帖子。此外,它还包含PHP代码 我正在编写两个类,第一个用于打开和关闭与数据库的连接,第二个用于为DB access提供各种可重用的函数 下面是我的连接类PHP代码:抽象类';n接口,特别是在PHP中,php,oop,interface,abstract-class,Php,Oop,Interface,Abstract Class,这个问题是我上一篇文章的延续 既然没有办法在不编辑您的原始帖子的情况下再次发布代码示例,我将开始一篇新帖子。此外,它还包含PHP代码 我正在编写两个类,第一个用于打开和关闭与数据库的连接,第二个用于为DB access提供各种可重用的函数 下面是我的连接类PHP代码: <?php /** * DBConnection Base Class Definition */ /* Include dependency */ require_once("\config\dbconfig.
<?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>";
}
}
?>
(1a)是
(1b)似乎是这样。但是你不应该在OOP中使用die
,请使用
(2) 一般来说,使用接口可能是更好的OOP风格。对于PHP,在这种情况下,使用常量是完全可以的。但这是非常主观的 (1a)是的
(1b)似乎是这样。但是你不应该在OOP中使用die
,请使用
(2) 一般来说,使用接口可能是更好的OOP风格。对于PHP,在这种情况下,使用常量是完全可以的。但这是非常主观的 我看不出有任何理由将此方法标记为抽象方法。这是可能的,但目的是什么?如果声明为抽象的,则应该在没有主体的情况下定义方法。如果您想强制连接,最好定义一个接口并实现它
以这种方式将db配置定义为常量是不明智的。通过将它们作为参数,您可能会更好。这样,您可以更灵活地连接多个数据库。我看不出有任何理由将此方法标记为抽象。这是可能的,但目的是什么?如果声明为抽象的,则应该在没有主体的情况下定义方法。如果您想强制连接,最好定义一个接口并实现它
以这种方式将db配置定义为常量是不明智的。通过将它们作为参数,您可能会更好。例如,通过这种方式,您可以更灵活地连接多个数据库
<?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','****');
?>