首页 >后端开发 >php教程 >php中页面静态化实例详解

php中页面静态化实例详解

小云云
小云云原创
2018-03-17 09:38:211789浏览

本文主要和大家分享php中页面静态化实例详解,希望能帮助到大家。我们先来看看静态页面与动态页面区别。

静态页面与动态页面区别

1.对于静态网页优缺点:

优点:加载速度快

缺点:维护工作量比较大并且没有数据交互功能

2.动态网页优缺点:

优点:解决了静态网页的缺点

缺点:对于动态网页与静态网页比较起来效率会慢。

什么是静态化

将动态数据以静态html呈现,即将数据库中的数据用html格式展示出来。整个过程就叫静态化(静态化就是将数据库中每一个内容都生成处一个对应的html文件)

静态化的好处

①减少服务器的压力

②加载速度快

③更加安全

④更加符合搜索引擎优化

静态化实现原理

对于静态化实现只要能够获取到要输出的内容然后再写入到文件中(非常的有规律具体的目录以及文件名都是非常有规律)

①获取输出的内容写入到文件中

②访问触发

③查看结果

对于php实现静态化常用的方式是使用OB缓存的方式来实现

缓存顺序:ob缓存程序缓存浏览器缓存

OB缓存

<?php
Ob_start();
Echo “100”;
Header(“content-type:text/html;charset=utf8”);

当代码执行到第四行,开启了OB缓存。当执行到第六行时由于是输出的内容。因此需要优先放入到OB缓存中。当执行到第九行时。对于header放入到程序缓存中。当执行到第十一行时继续讲输出的内容放入到OB缓存中。目前页面执行完毕。PHP会自动将OB缓存中的内容刷新到程序缓存中。程序缓存中的内容与Apache提供的默认的响应头进行封包。最后由Apache将结果进行响应。

OB缓存注意事项:

1、OB缓存可以手动的开启或者关闭

2、OB缓存开启时。对于PHP中任何的输出内容优先的放入到OB缓存中。如果碰到header/session/cookie相关会讲具体数据放入到程序缓存中

3、当页面执行完毕PHP会自动的将OB缓存中的内容刷新到程序缓存中。

OB缓存中比较重要的几个函数

ob_start:开启OB缓存

ob_get_contents:获取当前OB缓存中的内容

ob_clean:清空OB缓存中的内容

ob_end_clean:清空OB缓存中的内容并且关闭OB缓存

ob_flush:手动将OB缓存中的内容刷新到程序缓存

ob_end_flush:手动将OB缓存中的内容刷新到程序缓存并且关闭OB缓存

OB缓存嵌套

当一个PHP文件多次使用ob_start函数那么开启了多个OB缓存区。对于多个OB缓存区他们之间具备一个层次关系。但是对于每一个OB缓存区他们之间相互没有任何影响

OB缓存实现静态化

1、创建测试数据表并且写入数据

2、实现后台的更新操作。使用OB缓存针对每一个内容生成对应的HTML文件

3、显示前台的数据信息

<?php
$str=ob_get_contents();
File_put_contents(‘1.html’,$str);

伪静态介绍

当访问某一个网页时,从URL地址栏上看到的跟真静态(在web服务器上存在对应的静态网页文件)一模一样但是本质上web服务器上不存在对应的对应的文件而是由动态的语言进行解析的。此方式就是伪静态。例如在TP框架中 每一个地址后面.html后缀

伪静态的作用

对于有的网页本身不适合做真静态。例如商品详情页面。数据经常变换。为了更加符合搜索引擎优化,因此使用伪静态的方式。伪静态后期性能扩展能力更强。后期可以使用负载均衡,分布式,内存缓存等技术提升性能

伪静态实现方式

一般划分为两种情况

1、使用web服务器的重写机制实现(apache、Nginx)

2、通过框架的路由实现

总结真静态与伪静态

①真静态

1、真实的生成html文件在服务器上效率比较快

2、减少了PHP以及MySQL的服务器的压力

3、增加了搜索引擎的优化体验

4、真静态是有真实的html文件存在,会需要占用很大磁盘存储

5、对于真静态在此性能提升的能力有限

②伪静态

1、增加了搜索引擎的优化体验

2、性能扩展能力比较强

3、对于真静态本质是由php引擎进行解析

 相关推荐:

PHP页面静态化的实例详解

php的缓存机制实现页面静态化代码分享

PHP页面静态化的实现代码

以上是php中页面静态化实例详解的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn