Maison > Article > développement back-end > Que signifie php statique ?
La staticisation PHP consiste à afficher les pages générées par le site Web devant les visiteurs sous forme de HTML statique ; la staticisation PHP est divisée en staticisation pure et pseudo-staticisation. La différence entre les deux réside dans les différents mécanismes de traitement utilisés par PHP. générer des pages statiques. La statique pure consiste à enregistrer la page dynamique générée par PHP dans un fichier HTML statique. L'utilisateur accède à la page statique au lieu de régénérer la même page Web à chaque visite de l'utilisateur, ce qui peut réduire la surcharge du serveur. Pseudo-statique fait référence à la conversion de l'adresse URL d'une page dynamique en une adresse URL similaire à une page statique pour faciliter l'inclusion par les moteurs de recherche.
L'environnement d'exploitation de ce tutoriel : système Windows 7, version PHP 8, ordinateur DELL G3
Qu'est-ce que PHP statique
La simple compréhension de PHP statique consiste à afficher les pages générées par le site Web. Sous forme de HTML statique Devant les visiteurs, la staticisation PHP est divisée en statique pure et pseudo-staticisation. La différence entre les deux réside dans le mécanisme de traitement de PHP générant des pages statiques.
Purement statique : il enregistre la page dynamique générée par PHP dans un fichier HTML statique, et l'utilisateur accède à la page statique au lieu de régénérer la même page Web à chaque visite de l'utilisateur
L'avantage est de réduire la surcharge du serveur,
Si vous subdivisez le statique pur, il peut être divisé en « statique pur partiel » et « tout statique pur » :
Statique partiel : y a-t-il des données partielles dans le fichier statique généré ou sont-elles obtenues dynamiquement grâce à la technologie ajax ;
complètement statique : c'est-à-dire qu'il n'y a pas d'acquisition dynamique de données, le contenu provient donc de pages HTML statiques
pseudo-statique : fait référence à la conversion de l'adresse URL de la page dynamique en quelque chose de similaire à un statique Le processus de création de l'adresse URL de la page
est en fait un accès dynamique. Son essence est de générer dynamiquement des données. L'URL que vous visitez est similaire à "http://yourhost,com/index/post/12. ", qui est une adresse statique. Cette adresse est principalement visible dans les adresses de blog, mais en mode pseudo-statique, l'URL que vous visitez est en fait analysée par le serveur et sera toujours analysée en une adresse similaire à " http://votrehôte ,com/?c=index&a=post&id=12". On l'appelle donc pseudo-statique
Avantages du pseudo-statique : beau ; facile à inclure dans les moteurs de recherche
Pseudo-statique PHP : utilisez Apache mod_rewrite pour implémenter la réécriture d'URL .
Pourquoi devrions-nous rendre les pages Web statiques
1. Accélérez l'ouverture des pages et la vitesse de navigation. Les pages statiques n'ont pas besoin de se connecter à la base de données et la vitesse d'ouverture est considérablement améliorée par rapport aux pages dynamiques.
2. Il est bénéfique pour l'optimisation des moteurs de recherche SEO, Baidu, Google donnera la priorité à l'inclusion des pages statiques, qui sont non seulement incluses rapidement mais également complètement
3. appeler la base de données système ; 4. Le site Web est plus sécurisé et les pages HTML ne seront pas affectées par les vulnérabilités liées à PHP ; Si vous regardez des sites Web plus grands, ce sont essentiellement des pages statiques, et elles peuvent réduire les attaques et empêcher l'injection SQL.
Lorsqu'une erreur de base de données se produit, l'accès normal au site Web ne sera pas affecté.
Bien que la génération d'articles HTML soit plus fastidieuse en fonctionnement et plus compliquée en procédures, ces sacrifices en valent toujours la peine afin d'être plus pratique pour la recherche, plus rapide et plus sûre.
Comment générer des pages HTML statiques avec PHP
Utiliser des modèles PHP pour générer des pages statiquesLes modèles PHP sont très pratiques pour réaliser la statique. Par exemple, vous pouvez installer et utiliser PHP Smarty pour réaliser un site Web statique. , ou vous pouvez en écrire un vous-même Règles d'analyse de modèles, règles de modèles communes qui peuvent imiter divers cms.
1. Utilisez la fonction de lecture et d'écriture de fichiers PHP et le mécanisme de cache ob pour générer des pages statiques
Par exemple, l'adresse de la page de détails dynamique d'un produit est : http://xxx.com?goods.php?gid=112
Nous voilà donc. Lisez une fois le contenu de cette page de détails en fonction de cette adresse, puis enregistrez-le en tant que page statique la prochaine fois que quelqu'un visitera l'adresse dynamique de cette page de détails du produit, nous pourrons directement générer le fichier de contenu statique correspondant. a été généré.
<?php $gid = $_GET [ 'gid' ]+0; //商品id $goods_statis_file = "goods_file_" . $gid . ".html" ; //对应静态页文件 $expr = 3600*24*10; //静态文件有效期,十天 if ( file_exists ( $goods_statis_file )){ $file_ctime = filectime ( $goods_statis_file ); //文件创建时间 if ( $file_ctime + $expr -->time()){ //如果没过期 echo file_get_contents ( $goods_statis_file ); //输出静态文件内容 exit ; } else { //如果已过期 unlink( $goods_statis_file ); //删除过期的静态页文件 ob_start(); //从数据库读取数据,并赋值给相关变量 //include ("xxx.html");//加载对应的商品详情页模板 $content = ob_get_contents(); //把详情页内容赋值给$content变量 file_put_contents ( $goods_statis_file , $content ); //写入内容到对应静态文件中 ob_end_flush(); //输出商品详情页信息 } } else { ob_start(); //从数据库读取数据,并赋值给相关变量 //include ("xxx.html");//加载对应的商品详情页模板 $content = ob_get_contents(); //把详情页内容赋值给$content变量 file_put_contents ( $goods_statis_file , $content ); //写入内容到对应静态文件中 ob_end_flush(); //输出商品详情页信息 } ?>2. Utilisez nosql pour lire le contenu de la mémoire (en fait, ce n'est pas statique mais du cache)
Prenons l'exemple de memcache :
<?php $gid = $_GET [ 'gid' ]+0; //商品id $goods_statis_content = "goods_content_" . $gid ; //对应键 $expr = 3600*24*10; //有效期,十天 $mem = new Memcache; $mem --->connect( 'memcache_host' , 11211); $mem_goods_content = $mem ->get( $goods_statis_content ); if ( $mem_goods_content ){ echo $mem_goods_content ; } else { ob_start(); //从数据库读取数据,并赋值给相关变量 //include ("xxx.html");//加载对应的商品详情页模板 $content = ob_get_contents(); //把详情页内容赋值给$content变量 $mem ->add( $goods_statis_content , $content , false, $expr ); ob_end_flush(); //输出商品详情页信息 } ?>
Apprentissage recommandé : "
Tutoriel vidéo PHP"
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!