‘PHP 5’ etiketi için arşiv.
PHP’de Object Pool
Uğraştığım işlerden birinde, bir web sitesinin birden fazla veritabanından bağlantı çekebilmesi ihtiyacı doğmuştu.
Varsayalım ki, kullanıcı bilgilerini MySQL veritabanından, istatistik bilgilerini PostgreSQL veritabanından çekmemiz gerekiyor.
Bu durumda birden fazla bağlantı kurmamız gerekecek ve singleton patterni işimizi görmeyecek.
Bunun için object pool patternini kullanıyoruz. Aynı singletonda yaptığımız gibi, static create fonksiyonun içine static bir değişken atıyoruz. Ancak bu sefer değişken bir diziyi tutuyor.
Dizinin indexine bağlantının ismini yazarak birden fazla elemana işaretini kolaylaştırıyoruz.
Örneğin;
$connection1 = Connection::create("mysql1"); $connection2 = Connection::create("pgsql1");
Bu kod bize birden fazla bağlantıyı aynı anda aynı class üzerinde tutabilme yeteneği verecek.
Kodun başka bir yerinde "pgsql1" bağlantısını almak istediğimizde daha önce oluşturulan classı alabiliyor olacağız.
PHP’de singleton class
Java, c# ve diğer dillerin en büyük avantajı, o dillerin özelliklerini iyi kullanabilen geliştiricilere sahip olması. Ancak PHP'de, özellikle Türkiye'de geliştiriciler genellikle sonuç odaklı çalışıyorlar. Doğruluğu projeden projeye değişir ancak ben PHP'nin özelliklerinin tam olarak bilinmesinden yanayım.
Bu yazımda PHP OOP'yi iyi bilen arkadaşlara PHP'de singleton classların nasıl oluşturulabileceğini anlatacağım.
Yazının tamamını okuyun »