编程

当前位置:永利皇宫463登录 > 编程 > 生成HTML速度的优化措施_php工夫_脚本之家,php生

生成HTML速度的优化措施_php工夫_脚本之家,php生

来源:http://www.makebuLuo.com 作者:永利皇宫463登录 时间:2019-11-23 01:30

由于版本兼容性等各方面的原因,实际上dedecms的索引有点混乱,如果索引设置得适合,影响dedecmsHTML生成速度的,主要是获得没有按默认按排序的文章列表的时候,由于要重新排序,数据量大时速度会很不理想,可以通过下面几个步骤轻松优化: 1、进入phpmyadmin,把dedecms站点dede_archives除了ID主键的索引外的索引删除; 2、用SQL创建如下索引: AlterTABLE`dede_archives`ADDINDEX`click`; AlterTABLE`dede_archives`ADDINDEX`typeid`; AlterTABLE`dede_archives`ADDINDEX`arcrank`; AlterTABLE`dede_archives`ADDINDEX`sortrank`; AlterTABLE`dede_archives`ADDINDEX`senddate`; AlterTABLE`dede_archives`ADDINDEX`pubdate`; AlterTABLE`dede_archives`ADDINDEX`litpic`; AlterTABLE`dede_archives`ADDINDEX`typeid2`; 在数据量为1W-10W左右的区间,经过这样的优化后,如果内容页没有相关文章的标记,生成速度会快三至五倍 如果有相关文章标记,也会快两至三倍

嵌套缩进

大家都知道,dedecms支持[field:senddatefunction=”strftime”/]这样的一些用法,即标记内使用function,调用相关的函数对当前标签返回的内容进行再次处理再显示出来。 就拿上面这个标记为例子,本来程序显示数据库某个表的字段senddate,但通过查看数据库发现,senddate只是一大串数字,并不是我们想要的时间格式,PHP语言本身对时间处理是有一些自带的函数,strftime就是php本身自带的函数,当然你也可以扩展,自己编写自己的函数,模板上我们不需要显示这些数字,我们需要按照一定格式转换为我们的时间,这时候就可以使用这个函数进行处理了。 下面我们来分析下dedecms自带一些常用函数的使用方法: ■GetCurUrl() 这个估计用到的不是太多,这个函数获得当前运行的脚本地址,使用时候可以通过下列方式: {dede:CurUrlrunphp='yes'} @me=GetCurUrl(); {/dede:CurUrl} ■GetAlabNum() 返回半角数字的,如果你某个字段信息不希望出现全角数字,可以使用这个函数,例如: [field:listnum/]返回的是12234,我希望是半角数字12234,可以这样使用函数: [field:listnumfunction=”GetAlabNum 文本转HTML,函数将文本内容中的空格、…等字符转换为HTML标记,可以这样使用: [field:textcontentfunction=”Text2Html”/] 同样这里也有个相反的函数,将html转换为Text的,Html2Text 清除html标记,函数将内容中包含的html标记清除。用法: [field:contentfunction=”ClearHtml”/]

html, head, meta, title, body, input, select/option, form, table, div, 注释, 以及 自定义标签, 还有一大堆属性

以上就是用php生成HTML文件的类的详细内容,更多请关注脚本之家其它相关文章

你也可以给标签类添加一个自己的缩进值来覆盖统一的缩进值

每个类里边一般都有以下3个重要成员:

2.输出本标签最终字符串的方法, out()

1.每个标签都对应一个类, 比如 标签, 对应了一个叫html的类

3.给本标签添加子标签的方发, append接收的是子标签的对象, 在最终调用$html->out方法会被依次调用, 缩进值也会从上层类传递到最下层类并累加;

起因

用PHP生成HTML文档, 支持标签嵌套缩进, 支持标签自定义属性

4.为了不影响下次显示, 会有专门的清空方法, 把之前赋值的属性都清空

源码

支持的标签

目的

这个东西确实也是心血来潮写的, 本来打算是输出HTML片段用的, 但后来就干脆写成了一个可以输出完整HTML的功能;

我这里的方案是定义一个类, 里边有

地址: 看其中的test.php文件,是介绍他的用法。

实现

我很满意里边的实现缩进的机制, 大家有用到的可以看看

每个标签我都设计了一个类, 比如 table 标签, 就有一个叫table的类与之对应

属性

这样的话, 在定义标签属性的时候, 需要的就赋上值, 不需要的不赋值就不会在最终的HTML代码中显示出来

1.标签可能拥有的属性

另外, 每个类都包含了属性类, 每个类的缩进值是从属性类里继承而来的, 所以如果修改了属性类里的缩进量, 所有类的缩进量就跟着改变了

2.标签中有用到的属性, 我都放到了一个类中了, 并提供了方法去获取赋了值的属性

2.对应的setXxx方法

3.组装非空的属性拼成字符串的方法

p.s. 现在都是真正的前后端分离了(vue, nodejs, webpack...), 这个东西喜欢就用, 不喜欢就算了~

本文由永利皇宫463登录发布于编程,转载请注明出处:生成HTML速度的优化措施_php工夫_脚本之家,php生

关键词: