PHP - OOP - oturumda kaydedilecek büyük objeleri saklamak [kapalı]

3 Cevap php

I'm trying to set up a new class for my web application, rewriting my code starting from original procedural programming. Since I need to populate my object using many different(complex) queries, and this object'll be stored in session, I decided to create another static class containing all long queries.

Yeni bir tane oluşturmadan, aynı sınıf içinde "statik" bir işlev olarak tanımlamak daha uygundur? Amacım thanx ... mümkün olduğunca hafif bir nesne sahip olmaktır

3 Cevap

Eğer bir iş mantığı sınıf ile veritabanı erişimi işlevlerini birleştiren olabilir gibi geliyor.

Bir ORM katman kullanarak ve küçük uygulamalar ile çalışmıyor, ben genellikle veritabanı ile tüm etkileşimleri sorumlu tek bir sınıf oluşturur. Bu sınıf, bu sınıfın içinde yöntemlerle çağırılan sorguları yeniden bitlerini içerir. Ben özel statik özellikleri olarak bu bit ilan. Bu sınıf, herhangi bir veri depolamak değil. Aksine, sadece arama komut dosyası veya sınıfa geçer veri. Bellek tüketimini azaltmak için, ben bu sınıfı kullanmak için gereken herhangi bir komut sınıfın aynı örneği kullanır ve ek bellek değil emin olmak için bir Singleton deseni kullanarak bu sınıfı uygulamak. Standartlarında global veri depolamak için kullanılan olmadığından, bu durumda singleton'ununu kullanmanın tehlikeleri önlenmiş olur.

Eğer sınırlı donanım kaynakları ve / veya ağır ticareti site ile çalışan sürece Ayrıca, ben bellek tüketimi hakkında çok fazla endişe değil tavsiye edecektir.

Olası en küçük yerlerinde problem alanını kırmak ve buna göre sınıflar oluşturmak gerekir. Tüm işlemek gerekiyordu değil bir 'büyük' ​​sınıfı.

Her sınıf çözmeye çalışıyoruz genel sorunun belirli bir bölümünü işler.

Ben bu soruna daha kolay bir yaklaşım bulacaksınız düşünüyorum.

Tony

Sizin db her tablo bir sınıf olduğunu düşünüyor deneyin ve php de anlatıyoruz. Yani sınıf propaply, tasarruf okuma, güncelleme, ve bu sınıfın nesneleri dizisini almak için bazı statik yöntemler som yöntemler olacaktır.