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