Dinamik yapılarda cache kullanımı [menü de giriş alanı olan tasarımlarda]
Selamun aleyküm,
Öncelikle cache sistemini biliyorum fakat şu sağ veya sol üstte genelde giriş yap bölümü olan türde dinamik yapılarımız da bu cache sistemini nasıl kullanacağımı hala bilmiyorum.
Bunun ile ilgili hiç bir makale de bulamadım örnek vermem gerekir ise;
prototurk.com verelim gördüğünüz gibi sağ üstte giriş yaptıktan sonra profil ve çıkış yap var.
Mesela bu gibi yapılar da cache sistemi nasıl kullanılır?
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (3)
Genelde cache sistemini dinamik yapılarda giriş yapan için serbest bırakırlar, ya da cache sistemini ikiye bölüm login öncesi ve sonrası kaydedeceksin ama ne gerek var? O kadarını sistem kaldıramıyorsa zaten başka bir problem vardır :)
Merhaba
Aleyküm selam
if(empty($_SESSION["user_id"])){
echo 'this is user page';
}else{
echo 'this is login page'
}
//bu gibi kolanirsiniz user_id degisken isterseniz id de deyebilirsiniz
yani $_SESSION["user_id"] bu sizi vebsiteye kirdiz on cookie ga kayit oldu alan
Merhaba,
Aleyküm selam, benimde sorun yaşadığım bir mevzu şu şekilde bir çözüm ürettim.
2 kere cache aldırıyorum biri giriş yaptıktan sonra sadece içerik alanını diğeri ise tüm sayfayı kontrol ediyorum eğer bir kullanıcı girişi yok ise bu tüm sayfa cache gösteriyorum o alanda zaten giriş yap, kayıt vb. görünüyor ama eğer giriş yapmış ise o dediğim diğer cache gösteriyorum.
Böylelikle o 2 alanı ayırmış oluyorum tabi bunun için yapının bu mantığa uygun olması gerekir ne gibi post edilecek sayfayı cache dışında tutman gerekir yoksa cevap alamazsın cache çalışacağı için yazdığın kodlar işlemeyecektir.
Örneğin Tayfun ERBİLEN Udemy üzerinde Php Eğitim Setinde kullandığı mvc yapısını ele alalım.
Onun bir controller
ve birde views
alanı bulunuyor sen eğer cache bu gibi yapı da kalkıp views
alanında kullanıyorsan cache kullanmanın bir anlamı yok.
Cache niye kullanıyoruz aynı sorguları her seferinde tekrar tekrar yapmamak için bu yüzden bu gibi bir yapı da controller
alanında sorguların üstünde kullanmalısın ki sorgular 1 sefer yapılsın daha sonra sayfa açıldığın da aynı sorgular sorgulanmasın.
Soruya geri dönelim neydi soru sağ veya solda giriş yap var ise mesela bunu erbilenin yapısında kullanamazsın.
Neden onun yapısı bu tür bir cache kullanımına uygun değil ama uygulanabilir hale getirebilirsin
Örneğin;
Giriş yapmamış ise; Cache sistemini controller'ın başında başlatabilirsin.
Giriş yapmış ise; cache kullanacağın için sorgularını bir sınıfta tutmalısın ve kullanırken direk view içinde sınıf içindeki fonksiyonu çağırarak sorgunu yapacaksın.
Bunu neden yapıyoruz çünkü eğer giriş yapmış ise header'dan sonra cache başlatacaksın sorgular sınıftan geleceği için controllerı kapsamayacak böylece giriş yapılmış ise sadece içeriği cachelersin, giriş yapılmamış ise tüm sayfayı cachlemiş olursun.
Tabi bu verdiğim erbilen'in yapısı için geçerli.