Premiers pas avec l'API WordPress Transients, 1ère partie

L'une des plus belles choses à propos de travailler avec WordPress est la puissance de son API. Lors de la création de thèmes et / ou de plug-ins, la plate-forme facilite considérablement la sérialisation et la récupération de données. En fait, l'API résume bon nombre des problèmes courants liés au travail avec des données, tels que la désinfection des données et la récupération efficace des données sur demande. Tout au long des deux prochains articles, nous examinerons l'API Transients, pourquoi c'est important, comment l'utiliser, et examinons une implémentation pratique que nous pourrons utiliser dans de futurs projets..

En règle générale, tout ce qui précède est accompli avec l’API Options WordPress, très utile pour les options de sauvegarde, de mise à jour et de lecture. Toutefois, si vous travaillez avec un grand nombre de données, l’API d’options risque de ne pas offrir les performances optimales . Plus précisément, vous pourrez peut-être améliorer les performances globales de votre travail (et son extensibilité avec d'autres logiciels) si vous tiriez parti de l'API Transients..


Qu'est-ce que l'API Transients??

Autrement dit, l'API Transients fournit un moyen de stocker des informations dans la base de données WordPress avec un délai d'expiration. Lors de la sauvegarde d'informations à l'aide de l'API Options, les valeurs sont stockées à l'aide d'une clé et d'une valeur..

Par exemple, supposons que vous utilisiez un plug-in qui enregistre votre nom d'utilisateur Twitter dans un champ personnalisé appelé "Twitter". Vous pouvez conceptualiser la manière dont WordPress enregistre ces informations, en considérant "twitter" comme la clé et votre nom d'utilisateur (par exemple, "MoreTom") comme la valeur..

La différence dans la manière dont l'API Transients enregistre ses informations est qu'un troisième élément de données, un délai d'expiration, est enregistré dans la base de données. C’est la clé pour accélérer les performances, notamment avec la mise en cache.

De plus, les données sauvegardées via l'API (appelées transitoires) sont exploitées par la mise en cache des plugins et des logiciels de mise en cache, contrairement aux options WordPress standard. Par exemple, lorsque vous stockez une valeur à l'aide de l'API Transients, un logiciel de mise en cache, tel que memcached, demandera à WordPress de stocker les valeurs de manière à pouvoir les récupérer facilement à chaque demande de page au lieu de frapper la base de données à chaque fois..

Cool hein?

La mise en garde est que, comme les transitoires ont un délai d'expiration, ils ne sont pas des bases de données. Nous devons donc nous assurer que les valeurs stockées sont celles qui ne sont pas essentielles au succès du thème ou du plugin (bien qu'il existe un moyen de gérer ce que nous allons vérifier dans le prochain post).

La chose la plus importante à retenir est que vous ne voulez pas stocker toutes les valeurs d'option à l'aide de l'API Transients. Une bonne règle est de stocker les valeurs qui sont souvent les plus chères et qui ne sont pas nécessaires pour charger des pages..

Aussi utile que soit la compréhension de l'API, l'avantage réel réside dans son utilisation..


Utilisation de l'API Transients

La bonne chose à propos des API transitoires est qu’elles sont extrêmement bien implémentées avec trois fonctions que vous utiliserez régulièrement. Les trois opérations principales pour les transitoires sont la définition de valeurs, l’obtention de valeurs et la suppression de valeurs..

Définir un transitoire

L'enregistrement d'un transitoire nécessite trois informations spécifiques:

  • La clé qui sera utilisée pour récupérer la valeur
  • La valeur à sérialiser
  • La durée (en secondes) pour stocker les données avant de les actualiser

La signature de la méthode est la suivante:

  • set_transient ($ key, $ value, $ expiration);

Facile, non? Voici un exemple simple pour appeler cette fonction:

 set_transient ('twitter', 'MoreTom', 60 * 60 * 12);

Obtenez des transitoires

La récupération d'un transitoire est encore plus simple que la configuration. En fait, cela ressemble beaucoup à la récupération d’options à partir de l’API Options WordPress. Tout ce que vous avez besoin de savoir est la clé définie lors de la définition de la valeur..

La signature de la méthode chargée de renvoyer la valeur est:

  • get_transient ($ key);

En suivant l'exemple ci-dessus, nous récupérerons le nom d'utilisateur Twitter de l'utilisateur en appelant:

 get_transient ('twitter');

Simple, hein?

Suppression de transitoires

La définition et la récupération des transitoires sont les deux fonctions les plus couramment utilisées de l'API, mais vous devrez peut-être parfois supprimer une valeur avant que le délai d'expiration ne soit dépassé..

Dans ce cas, vous pouvez tirer parti de la fonction delete_transient:

  • delete_transient ($ key);

Semblable à la récupération d’une valeur, vous transmettez simplement la clé utilisée pour identifier la valeur transitoire à la fonction:

 delete_transient ('twitter');

La fonction retournera true si la valeur est correctement supprimée, false si la valeur n'a pas été supprimée ou si la suppression de la valeur n'a pas fonctionné correctement.

Évidemment, les avantages en termes de performances rapportent des dividendes par rapport à la difficulté de tirer parti de l’API. La chose la plus importante à retenir est peut-être que vous ne voulez pas stocker toutes les valeurs d'option à l'aide de l'API Transients - uniquement celles qui sont les plus chères et qui changent rarement..

Dans le prochain article, nous verrons une implémentation pratique de l'API en créant un plugin qui tire parti de l'API..