Her sayfası yükleme yeni nesneler oluşturmak veya PHP sayfasına onları sayfayı geçmesi gerekir?

3 Cevap php

PHP ve MySQL ile bir kullanıcı oturum türü bünyesinde çalışıyorum. İşte benim planı şimdiye kadar.

Kullanıcı Sonra Bunlar kullanıcı "oturum açtığında oturum içine kaydedilir ve muhtemelen APC / Memcache edilecek temel öğelerdir oturumunda (UserID, photoURL, userName, enlem, boylam, cinsiyet) içine birkaç şeyler ayarlamak email / şifre ile günlükleri "içinde.

De bir oturumu ve önbellek nesnesi oluşturarak her sayfa yük veri alma ve daha sonra bir ana Kullanıcı nesnesine bu nesneleri içe bir kullanıcı nesne yoktur bu yüzden benim oturum yönetimi ve önbellek kullanımı Sınıflar sarılmış.

Şimdi kafam karıştı, ben her zaman bu şekilde veya benzer yaptım ama bazı insanlar var nesneleri ve sonra oturumuna veya önbellek bunları kaydedin ve sonra sayfa yük nesne almak serialize biliyorum. Bunun bu şekilde yapmak için daha iyi olurdu?

3 Cevap

ben bunu düşünmek gerekmez düşünüyorum. Ben her zaman bir sayfa yükler oluşturulan nesnelerin anlamıyla hundreads ile bir web sayfası var benim şirkette bir php geliştirici olarak çalışacak ve bir seferde 50-200 insanlar gibi sayfaları hizmet ediyor ve sadece ilgili 50ms sayfa oluşturmak için alır. Eğer gerçekten nesneleri seri elde ekstra hız gerekmez Yani o zaman bu konuda endişelenmenize gerek yok.

Ben sadece başka bir yolu, all-in-oturumda yol iyi yol olduğunu sanmıyorum. Eğer oturumda tefrika nesneleri saklamak ve daha sonra bunları serisini varsa kesinlikle daha hızlı olacak, ama veri büyük miktarda saklamanız gerekir. Şahsen ben her sayfa yük nesne yenilenme tercih ve nesnenin oluşturulması çok yavaş olduğunda ben oturum seri baskıyı kullanmak.

Erken optimizasyonu gibi geliyor.

Tarihsel olarak, tefrika varlıklar gibi nesneleri saklamak için kesinlikle iyi bir fikir olduğunu - en kısa sürede session_start aramak ve varolan oturumu almak gibi, motor nesneleri geri olurdu - sınıf tanımları işlendi potansiyel önce. Ancak şimdi oturumu nesneleri de-serileştirme ertelenmiş olabilir.

Sürece kullanıcı nesne horrendously karmaşık değil gibi (o olmak görünmüyor) o oturumda nesneyi saklayarak başka bir şey yapıyor, kullanıcı sınıfı çok karmaşık ise, aşağı bölme düşünmek isteyebilirsiniz (muhtemelen overkill -) Eğer Authenticator ve authorizer ayrı hakkı olduğundan emin olun yok.

Oturum nesnesi şeffaf serializes ve tüm içeriğini unserializes unutmayın - tekrar __ sleep ve __ wakeup yöntemlerin iyi yararlanarak bazı yarar görebilirsiniz.

HTH

C.