Maison >php教程 >php手册 >Partagez plusieurs méthodes courantes de base de staticization_php de page

Partagez plusieurs méthodes courantes de base de staticization_php de page

WBOY
WBOYoriginal
2016-05-16 08:59:483512parcourir

Qu'est-ce que la staticisation PHP

Une compréhension simple de la staticisation PHP consiste à faire apparaître les pages générées par le site Web devant les visiteurs sous la forme de HTML statique. La statique PHP est divisée en statique pure et pseudo-staticisation. La différence entre les deux réside dans les différents mécanismes de traitement. PHP générant des pages statiques.

Pourquoi 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 sont nettement plus rapides que les pages dynamiques ; 2. Il est bénéfique pour l'optimisation des moteurs de recherche (SEO). Baidu et Google donneront la priorité à l'inclusion de pages statiques, qui seront non seulement incluses rapidement mais également entièrement
 ; 3. Réduisez la charge sur le serveur et naviguez sur le Web sans 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 l'opération de génération d'articles HTML soit plus fastidieuse et que les procédures soient plus compliquées, afin de rendre la recherche plus pratique, plus rapide et plus sûre, ces sacrifices en valent toujours la peine.


Comment générer des pages HTML statiques avec PHP
Générez des pages statiques à l'aide de modèles PHP

Il est très pratique de réaliser la statique des modèles PHP. Par exemple, vous pouvez installer et utiliser PHP Smarty pour créer un site Web statique. Vous pouvez également écrire votre propre ensemble de règles d'analyse de modèles communes qui peuvent imiter divers modèles CMS.

1. Utilisez les fonctions de lecture et d'écriture de fichiers PHP et le mécanisme de mise en cache ob pour générer des pages statiques
Par exemple, l'adresse de la page de détails dynamique d'un certain produit est : http://xxx.com?goods.php?gid=112
Nous lisons donc ici le contenu de cette page de détails en fonction de cette adresse, puis l'enregistrons 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
. Générez directement le fichier de contenu statique correspondant qui 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();//输出商品详情页信息
 
}
 
&#63;>
2. Utilisez nosql pour lire le contenu de la mémoire (en fait, ce n'est plus statique mais mis en cache

) ;

Prenons Memcache comme exemple :


<!--?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();//输出商品详情页信息
 
}
 
&#63;>
Memcached a une correspondance biunivoque entre les clés et les valeurs. La taille de clé par défaut ne peut pas dépasser 128 octets et la taille de la valeur par défaut est de 1 Mo. Par conséquent, la taille de 1 Mo peut répondre aux besoins de stockage de la plupart des pages Web.

Ce qui précède sont les méthodes associées de statique de page. J'espère que cela sera utile à mes amis
.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn