En ce moment j'essaye de créer mon propre petit MVC (juste pour la pratique et pour comprendre les détails de modèle de MVC). Je voudrais mettre en cache des parties de pages (listes déroulantes, listes, etc.) et je ne sais pas quelle est la meilleure façon de l'organiser.MVC, comment organiser la mise en cache des parties de la page et comment être avec View?
Supposons que j'ai PostsController avec la méthode getPostDetailsShortly ($ post_id). Cette méthode pourrait ressembler à ceci ...
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;
}
Maintenant, je devrais faire cette méthode du contrôleur soit disponible à partir de vues. Parce que je vais l'utiliser à l'intérieur d'autres pages, par exemple, pour la construction de la liste des messages connexes.
Quelle est la meilleure pratique de le faire? Peut-être que je me trompe et il existe de meilleures méthodes pour organiser la mise en cache des parties de pages?
PS: Désolé pour mon anglais, mais j'espère que c'est clair.
Merci!
c'est comme ça que je le fais :) – webmaster