Maison  >  Article  >  développement back-end  >  Implémentation de pages de sites Web PHP statiques basées sur les fonctions de la série ob

Implémentation de pages de sites Web PHP statiques basées sur les fonctions de la série ob

coldplay.xixi
coldplay.xixiavant
2020-07-14 17:21:322255parcourir

Implémentation de pages de sites Web PHP statiques basées sur les fonctions de la série ob

La conversion préalable de la page d'exécution PHP en HTML est l'une des méthodes dites statiques PHP.

D'autres méthodes incluent le remplacement de modèle, l'opcache et d'autres méthodes.

Le rôle de la staticisation :

Améliorer la vitesse de réponse du site Web et réduire la charge du serveur ;
Pour le référencement des moteurs de recherche
Utiliser le tampon de sortie PHP pour directement ; écrire du HTML, chronométrer L'analyse régulière du site Web en arrière-plan est un moyen relativement simple d'obtenir des pages Web statiques.

Avant la statique :

<?php
for($i=0;$i<1000;$i++){
 echo "bull<br>";
}
?>

Staticisation :

<?php
ob_start();
for($i=0;$i<1000;$i++){
 echo "bull<br>";
}
$str = ob_get_contents();
ob_end_clean();
$fp = fopen("test.html","w");
fwrite($fp,$str);
fclose($fp);
echo "<p>success write</p>";
?>

Ce code préformera un test.html Pour parler franchement, il échange en fait de l'espace contre du temps, comme des actualités. Pour ce type de site Web, le contenu publié ne changera pratiquement pas une fois écrit, il est donc plus approprié de le convertir statiquement en HTML.

Lorsque les utilisateurs visitent, il leur suffit de se diriger vers cette page html.

Utilisez simplement Apache Benchmark pour tester l'effet :

ab.exe -n1000 -c10

Les deux sont supérieurs à 90 % pendant la connexion, la différence est d'au moins 150 ms. Comparé au PHP complexe, le HTML économise encore beaucoup de calculs.

Vous trouverez ci-joint une brève introduction aux fonctions associées

1 Flush : Actualisez le contenu du tampon et la sortie.
Format de la fonction : flush()
Description : Cette fonction est fréquemment utilisée et est très efficace.

2, ob_start  : Ouvrir le tampon de sortie
Format de la fonction : void ob_start(void)
Description : Lorsque le tampon est activé, toutes les informations d'en-tête non-fichier du programme PHP ne seront pas envoyé, mais enregistré dans le tampon interne. Afin d'afficher le contenu du tampon, vous pouvez utiliser ob_end_flush() ou flush() pour afficher le contenu du tampon.

3, ob_get_contents  : Renvoie le contenu du tampon interne.
Utilisation : string ob_get_contents(void)
Description : Cette fonction renverra le contenu du tampon actuel Si le tampon de sortie n'est pas activé, il renverra FALSE.

4, ob_get_length : renvoie la longueur du tampon interne.
Utilisation : int ob_get_length(void)
Description : Cette fonction renverra la longueur dans le tampon actuel ; la même que ob_get_contents, si le tampon de sortie n'est pas activé. puis renvoie FALSE.

5, ob_end_flush : Envoyez le contenu du tampon interne au navigateur et fermez le tampon de sortie.
Utilisation : void ob_end_flush(void)
Description : Cette fonction envoie le contenu du tampon de sortie (le cas échéant).

6. ob_end_clean : Supprimez le contenu du tampon interne et fermez le tampon interne
Utilisation : void ob_end_clean(void)
Description : Cette fonction n'affichera pas le contenu du tampon interne Supprimez-le plutôt !

7. ob_implicit_flush : Activer ou désactiver l'actualisation absolue
Utilisation : void ob_implicit_flush ([int flag])
Remarque : toute personne ayant utilisé Perl connaît la signification de $|=x. Cette chaîne peut ouvrir/fermer le tampon, et la fonction ob_implicit_flush est la même. La valeur par défaut est de fermer le tampon. Après avoir activé la sortie absolue, chaque sortie de script est envoyée directement au navigateur et il n'est pas nécessaire d'appeler. flush().

Recommandations d'apprentissage associées : Programmation PHP de l'entrée à la maîtrise

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer