1
我在一個類中有一個mySQL對象,它位於外部文件中(以便從其他幾個文件訪問它)。我怎樣才能讓我的Singleton對象從我的文件dbconnection.php:如何從PHP中的外部文件創建對象
<?php
class DBConnection {
private static $instance;
private function __construct() {
$user="root";
$password="";
$database="klb";
mysql_connect("localhost",$user,$password);
@mysql_select_db($database) or die("Unable to select database");
}
public function __destruct() {
mysql_close();
}
public static function getInstance() {
if(!self::$instance) {
self::$instance = new self();
}
return self::$instance;
}
public function getNaviForCategory($category) {
$query="SELECT * FROM projects WHERE category=\"$category\"";
$result=mysql_query($query);
$num=mysql_numrows($result);
while ($row = mysql_fetch_object($result)) {
$title=$row->title;
$id=$row->id;
echo "<div class=\"sublink\" data-subsite=\"$id\" data-category=\"$category\" data-title=\"$title\" ><a href=\"#\">$title<br />";
}
}
public function getInfosForProject($id) {
$query="SELECT * FROM projects WHERE id=\"$id\"";
$result=mysql_query($query);
$num=mysql_numrows($result);
while ($row = mysql_fetch_object($result)) {
$infos=$row->info;
echo $infos;
}
}
private function createTableProjects(){
$query="CREATE TABLE projects (id int(6) NOT NULL auto_increment,category varchar(30) NOT NULL,title varchar(30) NOT NULL,
info varchar(200) NOT NULL,text varchar(8000) NOT NULL,PRIMARY KEY (id),UNIQUE id (id))";
mysql_query($query);
}
}
?>
但是,如果每次我創建一個新的單例文件時都包含這個文件,不是嗎? – 4ndro1d 2012-07-31 18:46:17
不,因爲您應該使用'require_once'來確保文件只包含/需要一次(即使您有10次調用具有相同文件名的'require_once()',也只包含一個副本)。 – nickb 2012-07-31 18:49:04