phpの静的とはどういう意味ですか?

青灯夜游
リリース: 2023-03-17 17:30:02
オリジナル
3997 人が閲覧しました

PHP の静的化は、Web サイトで生成されたページを静的な HTML の形式で訪問者の前に表示することです。PHP の静的化は、純粋な静的化と擬似静的化に分けられます。両者の違いは処理の違いにあります。 PHP が静的ページを生成するメカニズム。純粋な静的化とは、PHP によって生成された動的ページを静的 HTML ファイルに保存することです。ユーザーは、アクセスするたびに同じ Web ページを再生成するのではなく、静的ページにアクセスするため、サーバーのオーバーヘッドが削減されます。擬似静的とは、検索エンジンによる検索を容易にするために、動的ページの URL アドレスを静的ページに似た URL アドレスに変換することを指します。

phpの静的とはどういう意味ですか?

このチュートリアルの動作環境: Windows7 システム、PHP8 バージョン、DELL G3 コンピューター

PHP 静的化とは

PHP 静的の簡単な理解は、Web サイトで生成されたページを静的 HTML の形式で訪問者の前に表示することです。PHP 静的は、純粋な静的と疑似静的に分けられます。 2 つの違いは、PHP では静的ページを生成する処理メカニズムが異なることです。

純粋な静的 : PHP によって生成された動的ページを静的 HTML ファイルに保存します。ユーザーは、アクセスするたびに同じ Web ページを再生成するのではなく、静的ページにアクセスします。

利点は、サーバーのオーバーヘッドを削減できることです。

純粋な静的を細分すると、「部分的な純粋な静的」と「すべて純粋な静的」に分けることができます:

  • 部分的な静的化: 生成された静的ファイルに部分的なデータがありますか、それとも Ajax テクノロジを通じて動的に取得されますか;

  • 完全な静的化: つまり、データの動的な取得はありません。したがって、コンテンツは静的 HTML ページから取得されます

擬似静的: 動的ページの URL アドレスを、静的ページ

疑似静的とは、実際には動的アクセスです。その本質は、データを動的に生成することです。アクセスする URL は、「http://yourhost,com/index/post/12」に似ています。静的アドレス: このアドレスはブログ アドレスでより一般的ですが、擬似静的モードでは、アクセスした URL は実際にサーバーによって解析され、依然として「http://yourhost,com/?」のようなアドレスに解析されます。 c=index&a=post&id=12" なので、この名前が付けられます。これは、擬似静的です。

擬似静的な利点: 美しい、検索エンジンが組み込みやすい

PHP 擬似静的static: Apache mod_rewrite を使用して URL 書き換えを実装します。

Web ページを静的にする理由

1. ページを開く速度と閲覧速度を高速化します。静的なページは必要ありません。データベースに接続すると、動的ページよりも速く開くことができます。ページは大幅に改善されました。

2. 検索エンジン最適化 (SEO) に役立ちます。Baidu と Google は静的ページを優先的に含めます。迅速に含まれるだけでなく、完全に含まれます;

3. サーバーの負荷を軽減し、Web ページの閲覧にシステム データベースを呼び出す必要がなくなります;

4. Web サイトはより安全です。 HTML ページは PHP 関連の脆弱性の影響を受けません。大規模な Web サイトは基本的に静的ページであり、攻撃を軽減し、SQL インジェクションを防ぐことができます。

データベースエラーが発生しても、Web サイトへの通常のアクセスには影響しません。

HTML記事を生成する作業はより面倒で手順が複雑になりますが、検索の利便性、より速く、より安全にするためには、これらの犠牲を払う価値があります。

#PHP で静的 HTML ページを生成する方法

PHP テンプレートを使用して静的ページを生成する

PHP テンプレートを静的にすると非常に便利です。たとえば、PHP Smarty をインストールして使用すると、Web サイトを静的にすることができます。また、独自のテンプレート解析ルールのセットを作成することもできます。共通のテンプレート ルールは、さまざまな CMS テンプレートを模倣できます。

1. PHP ファイルの読み取りおよび書き込み関数と ob キャッシュ メカニズムを使用して静的ページを生成します

たとえば、製品の動的詳細ページのアドレスは http://xxx です。 com?goods.php? gid=112

したがって、ここでは、このアドレスに基づいてこの詳細ページのコンテンツを 1 回読み取り、それを静的ページとして保存します。次回誰かがこの動的アドレスにアクセスしたとき、製品詳細ページでは、

生成された対応する静的コンテンツ ファイルを直接出力できます。

<?php
$gid = $_GET [ &#39;gid&#39; ]+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. nosql を使用してメモリからコンテンツを読み取ります (実際には、これは静的ではなくキャッシュです);

memcache を例に挙げます :

<?php
$gid = $_GET [ &#39;gid&#39; ]+0; //商品id
$goods_statis_content = "goods_content_" . $gid ; //对应键
$expr = 3600*24*10; //有效期,十天
  
$mem = new Memcache;
$mem --->connect( &#39;memcache_host&#39; , 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(); //输出商品详情页信息
  
}
  
?>
ログイン後にコピー

Memcached は、キーと値の間に 1 対 1 の対応関係があります。デフォルトの最大キー サイズは 128 バイトを超えることはできず、値のデフォルト サイズは 1M です。したがって、1M サイズは、ストレージのニーズを満たすことができます。ほとんどの Web ページ。

推奨学習: 「

PHP ビデオ チュートリアル

以上がphpの静的とはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
関連するチュートリアル
人気のおすすめ
最新のコース
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート