Il est crucial de se concentrer sur les performances lors du développement d’applications PHP. Les applications Web peuvent compter des milliers d'utilisateurs, ce qui peut entraîner des problèmes de performances et de disponibilité.
Lorsque vous travaillez sur des sites Web créés avec PHP à partir de zéro et sans framework, la vitesse de chargement peut souvent être un problème.La mise en cache est extrêmement utile pour accélérer les pages Web PHP.
Dans cet article, vous allez decouvrir comment créer un système de mise en cache PHP simple pour vos pages Web.
La mise en cache des pages est une technique qui consiste à créer une collection de données en doublons lorsque les données originales sont coûteuses à récupérer ou à calculer (généralement en termes de temps d'accès).
PHP étant un langage de programmation interprété, le serveur doit exécuter le code à chaque fois qu'une page PHP est demandée. Selon la complexité et la longueur du script, cette opération peut prendre du temps et demander beaucoup de ressources. Si votre site Web a beaucoup de trafic, cela peut vraiment ralentir votre serveur et votre site.
Si une page Web est mise en cache, le script vérifiera si le fichier cache associé existe. Si c'est le cas, le fichier statique mis en cache sera envoyé au navigateur du visiteur. Dans le cas contraire, une version statique de la page dynamique sera créée automatiquement à la première demande d'un visiteur. En créant une version statique des pages dynamiques, le système de mise en cache économise beaucoup de ressources du serveur puisque le script PHP n'est exécuté qu'une seule fois, au lieu d'être exécuté à chaque fois que la page est demandée.
Les fichiers cache ont une durée de vie spécifique qui est défini par le développeur, si la durée de vie définie est dépassée, le serveur exécutera le script PHP et en générera ensuite une nouvelle version en cache.
top-cache.php
"Nous devons créer deux fichiers, le premier : un fichier nommé top-cache.php
et collez-y le code ci-dessous.
uri = $_SERVER["SCRIPT_NAME"];
$break = explode('/', $url);
$file = $break[count($break) - 1];
$cachefile = 'cached-' . substr_replace($file, "", -4) . '.html';
$cachetime = 18000;
// Servir depuis le cache s'il est inférieur à $cachetime
if (file_exists($cachefile) && time() - $cachetime < filemtime($cachefile)) {
echo "<!-- Copie en cache, générée " . date( 'H:i', filemtime($cachefile))." -->\n";
readfile($cachefile);
exit;
}
ob_start(); // Démarrer le tampon de sortie
Que fait ce code ?
Les cinq premières lignes créent le nom du fichier mis en cache en fonction du fichier PHP actuel. Donc, si vous utilisez un fichier nommé list.php
, la page Web créée par la mise en cache des pages sera nommée cached-list.html
. La ligne six crée une variable $cachetime
, qui détermine la durée de vie de notre cache simple (temps du cachefile).Les lignes neuf à treize sont une instruction conditionnelle qui recherche un fichier cache nommé $cachefile
. Si le fichier est trouvé, un commentaire est inséré (ligne dix) et le fichier $cachefile
est inclus. Ensuite, l'instruction exit arrête l'exécution du script et le fichier est envoyé au navigateur client. Cela signifie que si un fichier statique est trouvé, aucun PHP n'est interprété par le serveur. La ligne 14 crée un tampon si le fichier $cachefile
n'est pas trouvé. C'est tout pour le fichier top-cache.php
.
Bottom-cache.php
"Maintenant, créez un autre nouveau fichier PHP, nommé bottom-cache.php
et collez-y le code ci-dessous.
// Mettre en cache le contenu dans un fichier cache
$coched = fopen($cachefiie, 'w');
fwrite($cached, ob_get_contents());
fclose($cached);
ob_end_flush(); // Envoyer la sortie au navigateur
Si un fichier mis en cache nommé $cachefile
n'est pas trouvé sur votre serveur, ce code sera exécuté et créera lui-même le fichier cache. Par conséquent, la prochaine fois que la page sera demandée, le fichier statique $cachefile
sera servi au navigateur client au lieu d'exécuter l'intégralité du fichier PHP.
Maintenant que vous avez créé les deux fichiers nécessaires, il ne vous reste plus qu'à les inclure sur la page PHP que voussouhaitez mettre en cache. Comme vous l'avez probablement deviné, le fichier top-cache.php
doit être inclus au début de votre page PHP et le fichier bottom-cache.php
à la fin, comme indiqué ci-dessous :
include('top-cache.php');
// Votre code PHP habituel va ici
include('bottom-cache.php');
Maintenant, si vous testez le cache sur une page lente, vous serez étonné de voir à quel point la page est rapide. Ce simple PHP.
Le système de mise en cache est la solution préférée lorsque l’on travaille sur des sites Web PHP à partir de zéro.
Un peu de concept
C'est une version francaise traduite. vous pouvez laire la version original ici
Cette publication vous a plu ?
Partagez-la avec vos ami(e)s sur les réseaux sociaux.
Boss Ibrahim, l'auteur
Autres publications
Voir toutes les publication de Boss Ibrahim
Sélection ebook
10 Laravel tips and techniques for your next PHP project
Développement web
Commentaires