title: ThinkPHP5 Db类源码分析
date: 2019-05-28 21:13:56
comments: true #是否可评论
toc: true #是否显示文章目录
categories: #分类
- PHP
- 框架
- ThinkPHP
tags: [框架源码,ThinkPHP,数据库,DB,笔记]
动态语言静态化
什么是动态语言静态化
将现有的PHP等动态语言的逻辑代码生成为静态HTML文件,用户访问动态脚本重定向到静态HTML文件的过程
对实时性要求不高的页面才可以做静态化
为什么要静态化
动态脚本通常会做逻辑运算和数据查询,访问量越大,服务器压力越大
访问量大时可能会造成CPU负载过高,数据库服务器压力过大
静态化可以减轻逻辑处理的压力,降低数据库服务器的查询压力
静态化的实现方式
使用模板引擎
可以使用Smarty
的缓存机制生成静态HTML缓存文件
1 | // 缓存目录 |
利用ob系列函数
ob_start()
: 打开输出控制缓冲ob_get_contents()
: 返回输出缓冲区内容ob_clean()
: 清空输出缓冲区ob_end_flush() :
冲刷出(送出)输出缓冲区内容并关闭缓冲
1 | ob_start(); //打开输出控制缓冲 |
使用filectime
函数,可以判断文件的inode
修改时间,判断是否过期
使用filemtime
函数,可以判断文件内容的修改时间,可用于判断是否过期
PHP基于ob函数实现静态化代码
1 |
|