php 页面静态化
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php 页面静态化,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1658字,纯文字阅读大概需要3分钟。
内容图文
1、在开发项目时,有时会遇到一些页面数据量特别大,但是又不经常改变的情况,如商城首页等,这时候就需要进行页面静态化,减轻服务器和数据库的压力。
这里我们先用原生的PHP写一个简单的demo,用来理解页面静态化的原理,然后再尝试用框架说明一下(thinkphp)。
主要会使用到PHP的ob相关函数和文件操作函数file_put_contents.
这里在项目中新建了两个文件,test.php(控制器),muban.php(模板)
test.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<?php
if
(
file_exists
(
"match.html"
) && (time()-
filemtime
(
"match.html"
))<300)
{
//如果存在对应的静态文件,则直接访问
require_once
(
"match.html"
);
}
else
{
//这里用数组来仿真数据库操作,现实一般都是操作数据库得到对应数据
$student = array ( "huangxing" , "chenyuwei" , ‘xufei‘ , ‘zhangjingwen‘ , ‘xuepei‘ );
ob_start();
//载入模板
require_once
(
"muban.php"
);
file_put_contents
(
"match.html"
,ob_get_clean());
require_once
(
‘match.html‘
);
}
|
muban.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<!DOCTYPE html>
<html lang=
"en"
>
<head>
<meta charset=
"UTF-8"
>
<title>Document</title>
</head>
<body>
<ul>
<?php
foreach ( $student as $key => $value ) {?>
<li><?php
echo $value ;?></li>
<?php } ?>
</ul>
</body>
</html>
|
然后在浏览器执行test.php,就可以看到项目中生成了match.html静态文件。
以上是一个全静态化的demo,现实项目中可能会遇到局部动态化的情况。如商城首页,大部分是不需要修改的,但是可能有一个实时的活动需要在首页展示,这是可以使用ajax异步加载技术。
一般的框架中都自定义好了页面静态化函数,或者相关配置,以thinkphp3.2为例,只需要在配置文件做相关配置就可以,具体可以参考thinkphp手册 缓存=>静态缓存
1
2
3
4
5
6
7
8
9
10
|
<?php
return array (
‘HTML_CACHE_ON‘ => true, // 开启静态缓存
‘HTML_CACHE_TIME‘ => 3600, // 全局静态缓存有效期(秒)
‘HTML_FILE_SUFFIX‘ => ‘.shtml‘ , // 设置静态缓存文件后缀
‘HTML_CACHE_RULES‘
=>
array
(
// 定义静态缓存规则
‘Index:index‘ => array ( ‘{:controller}_{:action}‘ ),
),
‘HTML_PATH‘
=>
‘./HTML/‘
,
);
|
这里需要注意的就是 HTML_CACHE_RULES
原文:https://www.cnblogs.com/milkybounty/p/9989310.html
内容总结
以上是互联网集市为您收集整理的php 页面静态化全部内容,希望文章能够帮你解决php 页面静态化所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。