Hocam öncelikle verdiğin engin bilgiler için çok teşekkür ediyorum bu denli açıklayıcı olmanda cabası .
Bir nesne sonlandırılmadığı sürece __destruct fonksiyonu çalışmıyo taki php kendi sonlandırana kadar doğru anlamışım sanırım ve her sorgudan sonra bu mantıkla mysql_close yapmama gerek kalmıyo sanırım yani
class DB
{
...
function get_connection()
{
return $this->connection;
}
...
}
$db1 = new DB();
$db1->select_db("test");
var_dump(mysql_fetch_assoc(mysql_query("SHOW PROCESSLIST", $db1->get_connection())));
mysql_close();
$db2 = new DB();
$db2->select_db("test");
var_dump(mysql_fetch_assoc(mysql_query("SHOW PROCESSLIST", $db2->get_connection())));
mysql_close();
Bu şekilde baglantıları her sorgudan sonra kapatmama gerek kalmıyo.
Bunun sebebi betik sonunda yani __destruct fonksiyonun calışmasımı yoksa php acık baglantıyı bir süre sonra kendi yok ediyo bumudur?
Tekrar teşekkürü bir borç biliyorum .Klavyen zeval görmesin

--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 12:19:20 -->-> Daha önceki mesaj 12:00:27 --
class DB
{
private static $_instance = NULL;
private $_hostname = 'localhost';
private $_username = 'root';
private $_password = '';
private $_connection;
public static function get_instance()
{
if(is_null(DB::$_instance))
DB::$_instance = new DB();
return DB::$_instance;
}
private function __construct()
{
$this->_init_connection();
$this->_init_charset();
}
private function _init_connection()
{
if(!$this->_connection = mysql_connect($this->_hostname, $this->_username, $this->_password))
throw new Exception("{$this->_hostname} üzerinde bağlantı kurulamadı.");
}
private function _init_charset()
{
header('Content-type: text/html; charset=utf-8');
mysql_query("SET NAMES UTF8");
mysql_query("SET character_set_client = 'utf8'");
mysql_query("SET character_set_results = 'utf8'");
mysql_query("SET character_set_connection = 'utf8'");
}
public function select_db($database)
{
if(!mysql_select_db($database, $this->_connection))
throw new Exception("Veritabanına bağlanamadı");
}
public function query($query_string)
{
echo "{$query_string} <br />";
}
public function __destruct()
{
mysql_close();
}
private function __clone() { }
}
Ve son olarak getinstance() fonksiyonun işlevi nedir çok olmayacaksam