Yii Framework Official Guide Series 32 - Mise en cache : contenu dynamique

黄舟
Libérer: 2023-03-05 18:26:01
original
1161 Les gens l'ont consulté



Lors de l'utilisation de la mise en cache de fragments ou de la mise en cache de pages, nous rencontrons souvent une situation où la sortie de la partie entière est statique, à l'exception de quelques endroits. Par exemple, une page d'aide peut afficher des informations d'aide statiques, mais le nom d'utilisateur affiché est celui de l'utilisateur actuel.

Pour résoudre ce problème, nous pourrions faire correspondre le contenu mis en cache en fonction du nom d'utilisateur, mais cela représenterait un énorme gaspillage de notre précieux espace car la plupart du contenu mis en cache est le même, à l'exception du nom d'utilisateur. Nous pouvons également couper la page Web en plusieurs fragments et les mettre en cache séparément, mais cette situation rendra la page et le code très compliqués. Une meilleure approche consiste à utiliser la fonctionnalité de contenu dynamique fournie par [CController]. Le contenu dynamique signifie que la sortie du fragment ne sera pas mise en cache même si elle est incluse dans le cache des fragments. Même si le contenu inclus est extrait du cache, pour que le contenu dynamique soit dynamique à tout moment, il doit être régénéré à chaque fois. Pour cette raison, nous exigeons que le contenu dynamique soit généré via une méthode ou une fonction.

Appelez CController::renderDynamic() pour insérer du contenu dynamique là où vous le souhaitez.


...别的HTML内容...
<?php if($this->beginCache($id)) { ?>
...被缓存的片段内容...
    <?php $this->renderDynamic($callback); ?>
...被缓存的片段内容...
<?php $this->endCache(); } ?>
...别的HTML内容...
Copier après la connexion

Dans ce qui précède,

fait référence à un rappel PHP valide. Il peut s'agir d'un nom de chaîne pointant vers une méthode de la classe de contrôleur actuelle ou une fonction globale. Il peut également s'agir d'un nom de tableau pointant vers une méthode d'une classe. Tous les autres paramètres seront transmis à la méthode renderDynamic(). Le rappel renverra du contenu dynamique au lieu de simplement l'afficher.

$callback


Ce qui précède est le contenu de la série 32 du guide officiel du Yii Framework - Mise en cache : contenu dynamique. Pour plus de contenu connexe, veuillez prêter attention au site Web PHP chinois (www.php. .cn)!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal