NEWS建站资讯
请致电给我们!
How to Contact Us?
请致电给我们!
How to Contact Us?
发布时间: 2011年8月26日本文编辑:广州做网站公司www.3gonet.cn阅读数:2947
php程序,是通过安装Zend Optimizer之类的加optim 网上之类速软件实现的,但具体网站建设时这种加速是有限的。本文主要从程序代主要本文这种码着手介绍一些优化思路和手段。
程序的抽象层越多,各抽象层分离得越严格,程序效率越严格效率抽象低。
网站建设时最原始的应用于网页的php程序模式莫过于脚本嵌入模式,莫过于应用模式即仅仅在一个网页中需要动态处理或显示数据的地方通过需要数据显示加入<?php和?>标识符嵌入php脚本。一般来说这是php程序员一般来说程序员标识符最早学习的模式,它只有一个抽象层,就是网页,故本文学习本文模式称其为单层模式。
网站建设时随着网站规模逐渐增大,程序员可能会发现单层模式很难维护,想对程序修改或扩充功能时,会发现代码维护修改非常混乱,感觉无从下手。于是模板类诞生了,它使得一无从下手的网页由两个文件组成:一个php程序文件,一个html模板文组成模板网页件。常用的模板类有PHPLib库带的Template模板类,Smarty模板类等。
由templat smarti phplib于加入了额外的处理程序(模板类),程序效率下降了。其实一般情况下,不用函数(一般自己情况最原始的编程方法)比用函数(面向过程)的效率高,而原始效率方法用函数的效率又比对象封装(面向对象)高。所以就算在封装效率所以编译语言中,需要高效率的地方会用C写而不用C ,例如编译语言需要例如FreeBSD操作系统的内核;而需要极端高效的地方还要用汇编写freebsd 需要操作。
为了使程序可以适应多种数据库系统,或者方便随时转换数据库方便系统数据库系统,常常还会用一个类把跟数据库打交道的函数打交道数据库系统封装起来,这样当转换数据库系统时只要把封装类换掉就数据库这样封装行了,主程序不需要修改。这里又用了一个类,效率又打主程序需要效率折扣了。
PHPLib库带的Template类就有极大的优化余templat phplib 例如地。而Smarty模板类比PHPLib的Template更复杂,我没有用过,据称有缓templat smarti phplib存机制,不知是否可以弥补其性能损耗。下面就来看看PHPLibphplib 下面损耗的Template类有多少东西可以优化掉。
1.读入模板文件时,file函数效率低,改用get_file_content函数。
2.匹配子模板时,正则表达式替换函数preg_replace效率低,改用strreplac 表达式模板_pos函数进行定位和用str_replace函数进行替换操作。此优化手段replac 操作进行后文会详细分析。
3.模板模型通用性很强,能适应各种情况,但在具体细节的通用性细节各种处理上,通用的方法效率可能很低。可以对模板模型作适模板可能效率当修改。我的做法是建一个相对通用的模板类,然后再派模板做法通用生出一个只适用于特定程序的模板类。在通用模板类的模模板适用通用板模型上可以作些优化(相对于PHPLib的Template),例如在处理二templat phplib 例如维数据表的时候用 PHPLib的Template处理就比较复杂(具体实现方法templat 数据表 phplib可参考《优化php嵌套模版》),需要多次调用类方法(本多次需要参考质上是函数调用),所以重写的时候可以把处理二维数据数据处理可以表的功能封装到一个高效率的方法中,直接避免方法的多封装效率方法次调用。