


Yii Framework Official Guide Series 30 - Mise en cache : mise en cache des fragments
La mise en cache de fragments fait référence à la mise en cache d'un certain fragment d'une page Web. Par exemple, si une page affiche des résumés de ventes annuelles dans un tableau, nous pouvons stocker ce tableau dans le cache, réduisant ainsi le temps nécessaire à sa régénération à chaque demande.
Pour utiliser la mise en cache des fragments, appelez CController::beginCache() et CController::endCache() dans le script de vue du contrôleur. Les deux méthodes commencent et se terminent en incluant le contenu de la page qui sera mis en cache. Semblable à la mise en cache des données, nous avons besoin d’un numéro pour identifier le fragment mis en cache.
...别的HTML内容... <?php if($this->beginCache($id)) { ?> ...被缓存的内容... <?php $this->endCache(); } ?> ...别的HTML内容...
Dans ce qui précède, si BeginCache() renvoie false, le contenu mis en cache sera automatiquement inséré à ce moment-là. place; Sinon, le contenu de l'instruction if
sera exécuté et mis en cache lorsque endCache() sera déclenché.
1. Options de mise en cache
Lors de l'appel debeginCache(), vous pouvez fournir un tableau composé d'options de mise en cache comme deuxième paramètre pour personnaliser le cache de fragments. En fait, pour plus de commodité, les méthodes beginCache() et endCache() sont des wrappers du widget [COutputCache]. Par conséquent, toutes les propriétés de COutputCache peuvent être initialisées dans les options de cache.
Durée
L'option la plus courante est peut-être la durée, qui spécifie la durée pendant laquelle le contenu sera valide dans le cache. Il est similaire au paramètre d’expiration CCache::set(). Le code suivant met en cache les extraits de contenu pendant une heure maximum :
...其他HTML内容... <?php if($this->beginCache($id, array('duration'=>3600))) { ?> ...被缓存的内容... <?php $this->endCache(); } ?> ...其他HTML内容...
Si nous ne définissons pas de période , la valeur par défaut est 60, ce qui signifie que le contenu mis en cache sera invalide après 60 secondes.
Dépendance
Comme la mise en cache des données, les fragments de contenu peuvent également avoir des dépendances lorsqu'ils sont mis en cache. Par exemple, le contenu d'un article est affiché selon que l'article a été modifié ou non.
Pour spécifier une dépendance, nous créons l'option de dépendance, qui peut être un objet qui implémente ICacheDependency ou un tableau de configuration qui peut être utilisé pour générer des objets de dépendance. Le code suivant précise que le contenu du fragment dépend du changement de la valeur de la colonne lastModified
:
...其他HTML内容... <?php if($this->beginCache($id, array('dependency'=>array( 'class'=>'system.caching.dependencies.CDbCacheDependency', 'sql'=>'SELECT MAX(lastModified) FROM Post')))) { ?> ...被缓存的内容... <?php $this->endCache(); } ?> ...其他HTML内容...
Variation )
Le contenu mis en cache peut changer selon certains paramètres. Par exemple, le profil de chacun est différent. Le contenu du profil mis en cache changera en fonction de l'ID de chaque personne. Cela signifie qu'un identifiant différent sera utilisé lors de l'appel debeginCache().
COutputCache intègre cette fonctionnalité et les programmeurs n'ont pas besoin d'écrire des modèles qui modifient le contenu en fonction de l'ID. Ci-dessous un résumé.
varyByRoute : définissez cette option sur true et le contenu mis en cache changera en fonction de l'itinéraire. Par conséquent, chaque combinaison de contrôleur et d’action aura un contenu mis en cache distinct.
varyBySession : définissez cette option sur true et le contenu mis en cache changera en fonction de l'ID de session. Par conséquent, chaque session utilisateur peut voir un contenu différent servi par le cache.
varyByParam : Définissez le nom dans le tableau de cette option. Le contenu mis en cache changera en fonction de la valeur du paramètre GET. Par exemple, si une page affiche le contenu d'un article en fonction du paramètre
id
GET, nous pouvons spécifier varieByParam commearray('id')
pour nous permettre de mettre en cache le contenu de chaque article. Sans de tels changements, nous ne pourrions mettre en cache qu’un certain article.varyByExpression : en définissant cette option sur une expression PHP, on peut faire varier le contenu mis en cache en fonction du résultat de cette expression PHP. Cette option est disponible depuis la version 1.0. 4.
Type de demande
Parfois, nous souhaitons que la mise en cache des fragments soit activée uniquement pour certains types de demandes. Par exemple, pour qu'un formulaire soit affiché sur une certaine page Web, nous souhaitons uniquement mettre en cache le formulaire initialement demandé (via une requête GET). Tout formulaire affiché ultérieurement (via une requête POST) ne sera pas mis en cache, car le formulaire peut contenir des entrées utilisateur. Pour ce faire, nous pouvons spécifier l'option requestTypes :
...其他HTML内容... <?php if($this->beginCache($id, array('requestTypes'=>array('GET')))) { ?> ...被缓存的内容... <?php $this->endCache(); } ?> ...其他HTML内容...
2. Nested Caching )
Les caches de fragments peuvent être imbriqués. Autrement dit, un fragment de cache est attaché à un cache de fragments plus grand. Par exemple, les commentaires sont mis en cache dans le cache d'extraits de code interne et ils sont mis en cache ensemble dans le cache externe avec le contenu de l'article.
...其他HTML内容... <?php if($this->beginCache($id1)) { ?> ...外部被缓存内容... <?php if($this->beginCache($id2)) { ?> ...内部被缓存内容... <?php $this->endCache(); } ?> ...外部被缓存内容... <?php $this->endCache(); } ?> ...其他HTML内容...
Le cache imbriqué peut définir différentes options de cache. Par exemple, dans l'exemple ci-dessus, le cache interne et le cache externe peuvent être définis sur des valeurs de durée différentes. Lorsque les données stockées dans le cache externe sont invalidées, le cache interne peut toujours servir des fragments internes valides. Cependant, l’inverse n’est pas vrai. Si le cache externe contient des données valides, il conservera une copie en cache pour toujours, même si le contenu du cache interne a expiré.
Ce qui précède est le contenu de la série 30 du guide officiel du Yii Framework - Mise en cache : mise en cache des fragments. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Yii est un framework MVC hautes performances basé sur PHP. Il fournit un ensemble très riche d'outils et de fonctions pour prendre en charge le développement rapide et efficace d'applications Web. Parmi eux, la fonction RESTfulAPI du framework Yii a attiré de plus en plus l'attention et l'amour des développeurs, car l'utilisation du framework Yii peut facilement créer des interfaces RESTful hautes performances et facilement évolutives, offrant un support solide pour le développement d'applications Web. Introduction à RESTfulAPI RESTfulAPI est un

Middleware du framework Yii : fournir une prise en charge de plusieurs stockages de données pour les applications Introduction Le middleware (middleware) est un concept important dans le framework Yii, qui fournit une prise en charge de plusieurs stockages de données pour les applications. Le middleware agit comme un filtre, insérant du code personnalisé entre les requêtes et les réponses d'une application. Grâce au middleware, nous pouvons traiter, vérifier, filtrer les demandes, puis transmettre les résultats traités au middleware suivant ou au gestionnaire final. Le middleware du framework Yii est très simple à utiliser

Avec le développement rapide des applications Web, le développement Web moderne est devenu une compétence importante. De nombreux frameworks et outils sont disponibles pour développer des applications web efficaces, parmi lesquels le framework Yii est très populaire. Yii est un framework PHP hautes performances basé sur des composants qui utilise les derniers modèles de conception et technologies, fournit des outils et des composants puissants et est idéal pour créer des applications Web complexes. Dans cet article, nous verrons comment utiliser le framework Yii pour créer des applications Web. Installez d'abord le framework Yii,

Étapes pour mettre en œuvre la mise en cache et la segmentation de pages Web à l'aide du framework Yii Introduction : Au cours du processus de développement Web, afin d'améliorer les performances et l'expérience utilisateur du site Web, il est souvent nécessaire de mettre en cache et de fragmenter la page. Le framework Yii fournit de puissantes fonctions de mise en cache et de mise en page, qui peuvent aider les développeurs à mettre en œuvre rapidement la mise en cache et la segmentation de pages Web. Cet article explique comment utiliser le framework Yii pour implémenter la mise en cache et la segmentation de pages Web. 1. Activez la mise en cache des pages Web Dans le framework Yii, la mise en cache des pages Web peut être activée via le fichier de configuration. Ouvrez le fichier de configuration principal co

Ces dernières années, avec le développement rapide de l'industrie du jeu, de plus en plus de joueurs ont commencé à rechercher des stratégies de jeu pour les aider à réussir. Par conséquent, la création d’un site Web de guides de jeu peut permettre aux joueurs d’obtenir plus facilement des guides de jeu, et en même temps, cela peut également offrir aux joueurs une meilleure expérience de jeu. Lors de la création d'un tel site Web, nous pouvons utiliser le framework Yii pour le développement. Le framework Yii est un framework de développement d'applications web basé sur le langage de programmation PHP. Il présente les caractéristiques d'une efficacité élevée, d'une sécurité et d'une forte évolutivité, et peut nous aider à créer un guide de jeu plus rapidement et plus efficacement.

Middleware du framework Yii : ajouter des fonctionnalités de journalisation et de débogage aux applications [Introduction] Lors du développement d'applications Web, nous devons généralement ajouter des fonctionnalités supplémentaires pour améliorer les performances et la stabilité de l'application. Le framework Yii fournit le concept de middleware qui nous permet d'effectuer certaines tâches supplémentaires avant et après que l'application traite la requête. Cet article explique comment utiliser la fonction middleware du framework Yii pour implémenter les fonctions de journalisation et de débogage. [Qu'est-ce qu'un middleware] Le middleware fait référence au traitement des demandes et des réponses avant et après que l'application traite la demande.

Dans le framework Yii, les contrôleurs jouent un rôle important dans le traitement des requêtes. En plus de gérer les requêtes de pages régulières, les contrôleurs peuvent également être utilisés pour gérer les requêtes Ajax. Cet article expliquera comment gérer les requêtes Ajax dans le framework Yii et fournira des exemples de code. Dans le framework Yii, le traitement des requêtes Ajax peut s'effectuer à travers les étapes suivantes : La première étape consiste à créer une classe contrôleur (Controller). Vous pouvez hériter de la classe de contrôleur de base yiiwebCo fournie par le framework Yii

Cryptage et déchiffrement des données sensibles à l'aide du middleware du framework Yii Introduction : Dans les applications Internet modernes, la confidentialité et la sécurité des données sont des problèmes très importants. Pour garantir que les données sensibles des utilisateurs ne soient pas accessibles à des visiteurs non autorisés, nous devons chiffrer ces données. Le framework Yii nous offre un moyen simple et efficace de mettre en œuvre les fonctions de cryptage et de décryptage des données sensibles. Dans cet article, nous expliquerons comment y parvenir en utilisant le middleware du framework Yii. Introduction au framework Yii Le framework Yii est un framework PHP hautes performances.
