设为首页 收藏本站
查看: 1658|回复: 0

[经验分享] PHP框架queryphp教程:入门十 自动生成HTML

[复制链接]

尚未签到

发表于 2017-4-9 11:54:59 | 显示全部楼层 |阅读模式
现在很多网站都是重写生成html,这样可以显示为静态样子,但是还是可以根据页面时间判断是否最新的,还有原来一般网站都是使用缓存,减轻服务器读写。但是都不兼顾两者,那么今天我们使用queryphp框架可以实现两者都可以兼顾到。
queryphp自动生成html特点
1.使用apache重写方式,去掉index.php文件,使用网站看起来是静态样子
如:
http://www.tjwzjs.cn/project/html/curd/index/page/2.html
http://www.tjwzjs.cn/curd/index/page/2.html
http://www.tjwzjs.cn/curd/index/5552.html
http://www.tjwzjs.cn/html/curd/index/5552.html
http://www.tjwzjs.cn/curd/5552.html
等样子 
2.生成HTML不用一次全部生成,只要访问到就生成,生成后地址不变。
原来网站地址是什么就是什么
比如:http://www.tjwzjs.cn/curd/5552.html
那么使用我们pathinfo规则会把curd/5552.html转为curd 控制器 和 index方法 id为5552
如果有内容 那么就在网站目录下面curd目录创建5552.html 如果没有可以设置不会生成
3.可以把生成HTML文件都放一个目录里面,当更新时候直接删除就可以了。如果空间足够不用删除
直接把目录改名就可以了。这样不会造成很大IO问题。
当然可以选择删除部分内容。因为有些文件可以永久保存不用更改
比如:http://www.tjwzjs.cn/html/curd/index/5552.html
直接会在html目录里面创建文件,当apache能读取到文件时候会直接读取html文件,apache不会使用php解析
这样可以成百成千倍提高访问速度。直接减少服务器数量,减轻公司企业成本,
也可以说queryphp最省钱的框架
4.可以多个项目分隔,每个项目生成html互不干扰比如project项目,也可以在project下面建产子项目
如:http://www.tjwzjs.cn/project/html/curd/index/page/2.html
这样可以每个栏目或每个频道都独立分开,又可以重用公共代码
5.每个Router可以自定义生成html方式
详见:controller.php 文件 function view_filter($content) 方法
6.可以自由切换是否静态或动态。如果不想生成HTML内容,也可以,这样可以保留apache重写.html结尾
当然也可以去掉.html结尾,对程序一点没有影响。也不用修改代码
/*
*网站静态化开始,可以做seo优化
**/
$config['html']='.html';//开启.html结尾url
$config['realhtml']="/html"; //开启超级缓存目录,如果第一次访问没有html页面自动产生html页面,第二次访问时候就是静态化了
$config['htmlcache']=array("class"=>"sitehtml","method"=>"realhtml"); //生成html文件类和方法,不设置将不会生成html页面, 传入参数为$content,$pathinfo;
/*
*网站静态化结束
**/
当$config['realhtml']="/html"; 为空时候生成html方式是
http://www.tjwzjs.cn/curd/index/5552.html
这样不会有html目录了。当然内容模块少不要紧
$config['htmlcache']为空的时候不会生成html,只使用apache重写
$config['html']='.html';为空的时候不会生成html地址怎么样就怎么样
url_for()智能函数,自动会根所当然环境返回/curd/index/5552.html方式还是/curd/index/5552样子
url_for("curd/index/5552");如果是静态方式会返回/curd/index/5552.html
如果是动态方式返回/curd/index/5552
程序中有一些提交地址不能为动态,那么怎么办
url_for("curd/index/5552",true);不会返回/curd/index/5552.html或/html/curd/index/5552.html
直接返回/curd/index/5552
下面是模板一个例子:
<ul>
<li><a href="<?php echo url_for("curd/create")?>">添加新记录</a></li>
<li><a href="<?php echo url_for("curd/index")?>">数据列表</a></li>
</ul>
<form id="form1" name="form1" method="post" action="<?php echo url_for("curd/createForm",true);?>">
form提交永远是动态的
原文链接:http://tjwzjs.cn/news/knowledge/2012/1210/57.html

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-362383-1-1.html 上篇帖子: 解决PHP站点被黑客用于群发垃圾邮件问题 下篇帖子: PHP获取当前时间(年,月,日,小时,分,秒)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表