我現在學習PHP OOP,我想獲得你的提示。我創建數據庫連接類,這是好嗎?開始使用PHP OOP
如何在另一個類中使用「數據庫」類?總是使用「擴展」?
感謝
<?php
//Config
$db_user = 'root';
$db_pass = '';
$db_host = 'localhost';
$db_name = 'test';
class Database
{
private $Database;
private static $instance;
public static function instance()
{
if (!self::$instance)
self::$instance = new Database();
return self::$instance;
}
public function connect($host, $user, $password, $name)
{
$this->db_link = mysql_connect($host, $user, $password);
mysql_set_charset('utf8');
mysql_select_db($name, $this->db_link);
}
public function query($query)
{
$sql = mysql_query($query);
$row = mysql_fetch_array($sql);
return $row;
}
}
class Book extends Database
{
public function getData2()
{
$sql = $this->query('SELECT * FROM users WHERE price = "7"');
return $sql['name'];
}
}
$db = Database::instance();
$db->connect($db_host, $db_user, $db_pass, $db_name);
$b = new Book();
$res = $b->getData2();
print_r($res);
?>
評論你的代碼,這是錯誤的。您必須定義變量和方法的範圍(公共,私人,受保護)。 – Shoe 2010-12-19 22:21:41
W00t?這從OOD(面向對象設計)的角度來看是可怕的。書不是數據庫,所以不應該使用繼承。組成也許可以使用,但它可能只是一個實體。 – 2010-12-19 22:21:45
@Charlie Pigarelli PHP會將未指定的成員變量和方法視爲公共對象。 – 2010-12-19 22:34:15