MVC, nasıl sayfanın önbelleğe parçaları düzenlemek ve nasıl Manzaralı olmak?

1 Cevap php

Şu anda benim kendi küçük MVC (sadece pratik ve MVC deseni ayrıntıları anlamak için) oluşturmak için çalışıyorum. Ben sayfaları (dropdowns, listeler vb) bölümlerini önbelleğe ve bunu düzenlemek için en iyi yolu nedir bilmiyorum istiyorum.

Let's imagine that I have PostsController with method getPostDetailsShortly($post_id). This method could look like this...

public function getPostDetailsShortly($post_id) {

  if (!$post_id) return false;
  $content = $this->memcache->get("post" . $post_id); //Trying to get post details HTML from memcache

  if (!$content) { //Not fount in memcache

    $model = new PostsModel();
    $data = $model->getPostDetailsShortly($post_id);

    $this->view->assign('data', $data);

    ob_start();
    $this->view->render();
    $content = ob_get_contents(); //Getting view output into variable
    ob_end_clean();

    $this->memcache->set('post' . $post_id, $content, 1000); //Writing variable to memcache

  }

  return $content;

}

Şimdi bu denetleyicisi yöntemi İzlenme edinilebilir yapmak gerekir. Ben ilgili mesajlar listesi oluşturmak için, örneğin, diğer sayfaların içine kullanacağız çünkü.

Bunu yapmanın en iyi yöntem nedir? Belki ben yanılıyorum ve sayfaların önbelleğe alma parçaları düzenlemek için biraz daha iyi yöntemler vardır?

PS: Benim İngilizce için üzgünüm, ama açıktır umuyoruz.

Teşekkür ederiz!

1 Cevap

Bilmeyenler bu okuma olabilir edenler için MVC arkasındaki fikir, model, görünüm ve sitenin CONTROLLER mimarisini ayırmaktır. Ben CakePHP MVC çerçevesinde en aşina değilim. Bu CakePHP ile ilgilidir Yani bu cevap MVC benim bilgiye dayalı olacaktır.

Eğer ihtiyaçlarını sağlıyoruz bilgi görünümüne sağlanacak yana, ben bir HTML yardımcısı olarak inşa öneririm. A Yardımcısı görünümüne yeniden kod sağlamak için tasarlanmıştır. Kontrol kodu arkasındaki mantığı (hangi verileri vb veri için modelini soran, aramak için hangi görüş, görünüm biçimlerinden gelen yapmak) uygulamasıdır.

Bu öğeleri önbelleğe hakkında konuşuyoruz soru üzerine bakıyor. Ben trafik büyük miktarda almak bekliyorlar eğer iyi bir şey olduğunu düşünüyorum, ama gerçekten gerekli değil aksi. Bunu söyledikten sonra, bu soru önbelleği daha mimarisi hakkında daha fazla görünüyor. Geçerli mimari ses gibi görünüyor, ama ben tüm kontrolörlerin erişilebilen bir "bileşen" içine işlevselliğini hareket edeceklerdi. Bu, belirli bir denetleyici her zaman aramak zorunda kalmadan, ihtiyacınız herhangi bir kontrol onu aramak için izin verir.