PHP页面静态化及部分接口编程

页面静态化

一、页面

动态页面(xxx.php/xxx.asp等等这些服务器端脚本语言都是用来写动态页面的)

静态页面(html标签)

二、优化页面的响应时间

当用户访问我们的页面时,页面需要加载一系列的资源,那么就需要响应时间,这个过程缓慢会造成用户体验度不好,会损失用户,所以作为开发工程师的我们,就要优化页面的响应时间。

1.动态页面静态化 2.优化数据库  3.负载均衡  4.使用缓存

还有其他优化页面响应时间的方法。

主要实现1.动态页面静态化 应用场景:页面内容不经常改动时,使用此技术是非常有效的方法 实质就是:生成静态的Html页面

好处:减少服务器脚本的时间,降低服务器响应的时间

这里要说一个知识点: PHP文件的执行顺序   语法分析----编译----运行----展示结果 HTML文件执行顺序 运行

三、将动态URL地址转换为静态形式

例如 http://localhost/index.php?m=admin*c=admin&a=index  =>   http://localhost/admin.shtml 从服务器(nginx/apache中修改)

四、PHP中的Buffer(缓存)*

输出流程: 内容--->php buffer--->tcp--->网络     

相关配置项output_buffer 实现基本方式 ob函数 1.file_put_content($filename,$content)  1.fopen 2.fwrite() 3.fclose()

ob函数 ob_start()//打开输出缓冲区 ob_get_contents()//获取缓存区内容 ob_clean()//清空缓存区  ob_get_clean()//得到当前缓冲区内容并删除当前输出缓冲区

五、生成纯静态HTML

第一步 连接数据库从数据库中取数据 第二步 开启缓冲区套用模版 第三步 生成静态HTML文件 第四步 清空缓存区
示例代码:
ob_start();
require "引入需要静态的模版";
file_put_contents(‘生成静态文件的名称’,ob_get_clean());//这里是将缓冲区内容写到文件并清空缓存区.

六、如何触发系统生成纯静态页面

必须掌握的方式:1.页面添加缓存时间 2.手动触发方式 3.crontab定时扫描程序
1.页面添加缓存时间实现方式(增加判断)

if(is_file('文件的路径') && time()-filemtime('文件的路径')< 自己设置时间 ){

//存在静态文件并且修改时间小于设置的时间则直接加载静态文件即可

require_once "静态文件";

}else{
//重新创建静态文件 参照 五中生成静态文件的步骤
}
2.手动触发 在后台模版中添加按钮来触发更新

3.crontab实现
在linux下 crontab -e 编辑 定时任务  时区 */分 */时 */日 */月 */周 php 路径
具体如何实现要看业务需求。

页面静态化---局部动态化(涉及接口编程)

这里涉及到AJAX技术 JQuery中ajax请求方式:
$.ajax({
url:'请求接口地址',
type:'请求数据方式',
dataType:'接受返回数据类型',
success:function(result//请求的返回数据){
$.each(result.data,function(key,value){
拼装数据
$().html()//用来读取和修改元素的html标签
$().text()用来读取或者修改元素的纯文本内容
$().val()用来读取或修改表单元素的value值

});
}
});
首先要编写API文件 连接数据库等等操作取出数据 并且便利数据   
定义一个返回数据的函数:
function show($status=0,$message=‘error’,$data=array()){
$result = array(
'status'=>$status,
'message'=>$message,
'data'=>$data
);
echo json_encode($result); //这里介绍一下json_encode函数--将变量转换为json格式 只能转换utf8编码, 不能转换资源类型要注意。
}


发布了14 篇原创文章 · 获赞 21 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/wanghongbiao1993/article/details/53612578