nekrofil adlı üyeden alıntı: mesajı görüntüle
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?
Bağlantıyı kapatmanıza gerek kalmamasının nedeni; PHP'nin betik sonunda bağlantıyı kendisi kapatacak olması ve betiğin çalıştırıldığı sürece, oluşturduğunuz tek bir bağlantı üzerinden çalışması. Diğer bir değiş ile; "__destruct" metodundaki "mysql_close" fonksiyonunun çağrılmasından dolayı değil, daha doğrusu bu metodun çağrılmasına gerek kalmaması. Resme daha büyük bir açıdan bakmak gerekirse; sunucuza bir istek geldiğinde ve isteğe gönderilecek sayfa hazırlanırken bir bağlantı oluşur. Ve sayfanın hazırlanması tamamlandığında bu bağlantı kendiliğinden kapanır.

nekrofil adlı üyeden alıntı: mesajı görüntüle
Ve son olarak getinstance() fonksiyonun işlevi nedir
"singleton patern"; bütün işlemleriniz boyunca bir sınıfın sadece bir kopyasına ihtiyaç duyduğunuzda yararlanabileceğiniz bir tasarım kalıbıdır. Bu uygulamanızda veritabanı sınıfınızın sadece bir örneğine ihtiyaç duyduğunuz için ve "new" metodu ile başka nesnelerin yaratılmasını engelemek isteyeceğiniz için; sınıfınıza "instance" adında statik bir değişken atanır ve sınıfınızın konstrüktörünü "private" olarak belirlenir. Böylece yeni "DB" nesnelerinin yaratılmasının önüne geçersiniz ve bütün uygulama boyunca, "DB" sınıfınızın tek bir nesnesini, sınıfın kendi "instance" değişkenine atayabilrsiniz. Bu değişken statik olduğu için programın her noktasından, sınıfın yeni bir örneğini yaratmaya gerek kalmadan, direkt olarak sınıf üzerinden ulaşılabilir. Bu değişkenin dışarıdan düzenlenmesini engellemek için bu statik değişken de "private" olarak belirlenir ve statik "get_instance" metodu ile bu değişkene ulaşılır. Tabii bir sınıftan nesne yaratmanın tek yolu "new" metodunu kullanmak olmadığı için, "__clone" gibi fonksiyonlar da "private" olarak belirlenir ve çağrılmaları engellenir.