Sınıf üzerinde bir işlem yapmıyacaksam neden kurucu metod gireyim ?
Kurucu metod, cansız sınıfı canlı hale getirirken sınıfın hazırlanmasına yardımcı olur.
Lakin soruyu ya yanlış algılıyorum yada siz yanlış soruyorsunuz. Sınıf üzerinde işlem yapmayacaksanız, zaten sınıfı niye çağırma gereksinimi duyuyorsunuz?
Konu içinde database işlemleri için her seferinde bir bağlantı açıp, kapatıldığını belirtmiş arkadaşlar. Bu yöntem açıkcası pek kullanılan bir yöntem değildir. Her seferinde db'ye bağlantı aç, kapa ve her seferinde yeni bir bağlantı session'ı oluşturmak hem db hemde kullanılan db baglantı nesnesi için sunucuya ve db'ye gereksiz yük bindirmektir.
Basit bir bakış açısıyla, 10 istek geldi, 10 baglantı sınıfı ayrı ayrı instance'lar oluştu, her instance db'dne bir session kaptı hop 10 session ile db'ye git gel. Bunu 1000 yapsak nesneler, db sessionları havada uçuşuyor.
Php'de varmı bilmem fakat J2EE Application server içinde db ye baglantı sessionları için uygulama sunucusu bir pool(havuz) yaratır. Bu havuz içinde db session'larını uygulama sunucusu yönetir. Ben yazdığım java uygulamalarında bağlantı açık, kapalı ama askıda kalmış yok session objesi ne olmuş gibi bir sıkıntıya düşmem mesela zaten uygulama sunucusu tüm o db işlemlerini(transaction management) olayını thread-safe şekilde halleder.
Eğer PHP 'de DB pooling yada transaction management gibi oturmuş genel çözümler var ise kesinlikle kullanınız.
Yazdığımı anlatan basit bir imaj ;