加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php页面静态化有什么作用?怎样完成?

发布时间:2021-12-23 16:50:59 所属栏目:PHP教程 来源:互联网
导读:php页面静态化有什么作用?怎样实现?很多新手学习PHP时,不知道为什么要静态化页面,对此,这篇文章就给大家介绍一下php页面静态化以及实现,有需要的朋友可以参考一下。 为什么要静态化页面? 当用户访问一个不经常更新的Web页面,PHP接到指示对php脚本文
     php页面静态化有什么作用?怎样实现?很多新手学习PHP时,不知道为什么要静态化页面,对此,这篇文章就给大家介绍一下php页面静态化以及实现,有需要的朋友可以参考一下。
 
为什么要静态化页面?
       当用户访问一个不经常更新的Web页面,PHP接到指示对php脚本文件进行解析,从数据库查询到该页面所需要的数据,然后对页面模板进行渲染,最后将一个成品页面展示给用户。单次请求对于服务器来说非常简单,处理起来非常快,但是如果同时有成千上万各用户请求该页面呢?这无疑是对资源的一种浪费,这就是我们要做静态的目的。
 
       静态化分为纯静态与伪静态,纯静态又分为局部纯静态和全部纯静态。
 
伪静态
       伪静态顾名思义,它并不是真的静态页面而是伪装的。例如一个以php作为后端语言的web站点,正常情况下他的url应当是类似于http://www.example.com/index.php,当我们做了伪静态处理后,当你访问同一个页面它展示的url可能就是http://www.example.com/index.html了。它的作用是路由简化,能够更好的被搜索引擎收录,当你不想让用户知道你的后端语言时也可以采用这种方法。这里设计到了路由与重定向知识,不做详解。
 
纯静态
局部纯静态
       一个页面通常由多个部分组成,例如一个博客,他可能由正文、分类、友情链接、栏目等部分组成。当有些部分更新频繁,而有些部分不常更新时就可以采用局部静态化。
 
全部纯静态
       看了前面的内容这个就很容易理解了,当一个页面所有内容都不常更新即采用这种方式。
 
静态化页面实现原理
        首先要说的是一个叫做缓冲器(buffer)的东西。举个简单的例子说明他的作用:我们在编辑一篇文档时,在我们没有保存之前,系统是不会向磁盘写入的,而是写到buffer中,当buffer写满或者执行了保存操作,才会将数据写入磁盘。对于PHP来说,每一次像 echo 这样的输出操作,同样是先写入到了 php buffer 里,在脚本执行完毕或者执行了强制输出缓存操作,数据才会在浏览器上显示。
        这里我们就要对这个缓冲区做一下文章了,在php输出内容之前,我们取出缓冲区的内容(这里就是渲染好的模板内容了),然后将其写入一个静态文件中并设置过期时间,当下次用户访问该页面的时候,如果该静态文件存在并且在有效期内,我们就直接将该静态文件展示给用户看,否则重写静态文件。
 
代码实现
       数据库连接,用到了单例模式。
 
       Database.php
 
<?php
class Database {
  //用于保存实例化对象
  private static $instance;
  //用于保存数据库句柄
  private $db = null;
 
  //禁止直接实例化,负责数据库连接,将数据库连接句柄保存至私有变量$db
  private function __construct($options) {
    $this->db = mysqli_connect($options['db_host'], $options['db_user'], $options['db_password'], $options['db_database']);
  }
 



(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读