本文档的阅读对象是有一定经验的PHP程序员,文档中将介绍在PHP开发中的一些开发技巧,希望能对读者有一定的启发。
1. 提高PHP的运行效率
PHP的优点之一是速度很快,对于一般的网站应用,可以说是已经足够了。不过如果站点的访问量很高、带宽窄或者其它的因素令服务器产生性能瓶颈的时候,你可能得想想其它的办法来进一步提高PHP的速度了。
1.1. 代码优化
1、用i+=1代替i=i+1。符合c/c++的习惯,效率还高。
2、尽可能的使用PHP内部函数。自己编写函数之前要详细查阅手册,看有没有相关的函数,否则费力不讨好。
3、能使用单引号字符串尽量使用单引号字符串。单引号字符串的效率要高于双引号字符串。
4、用foreach代替while遍历数组。遍历数组时foreach的效率明显高于while循环,而且不需要调用reset函数。两种遍历方法如下:
程序1:
reset ($arr);
while (list($key, $value) = each ($arr)) {
echo "Key: $key; Value: $value
n";
}
程序2:
foreach ($arr as $key => $value) {
echo "Key: $key; Value: $value
n";
}
1.2. 压缩页面
HTTP1.1协议支持页面压缩传送,也就是说服务器把一个页面压缩传送到客户端,然后在客户端将页面解压缩再显示给客户。在服务器端有两种传输方式,一种是页面事先已经压缩好了,传送时只要将压缩页面传送到客户端就行,这种适用于静态网页多的情况,但是对于大多数站点,动态页面比较多,这种方法不太适合,因为很多传到客户端的页面其实是没有的,是服务器接到客户端用户请求动态产生的,所以就要求每生成一个动态页面都要在传到客户端以前先打包压缩。从PHP的4.0.4版以后,可以在php.ini文件中增加一行配置“output_handler = ob_gzhandler”,这样每个动态生成的页面在传送到客户端之前都会进行压缩,但是根据PHP官方站点的说明,这个参数不能与“zlib.output_compression = on”参数同时使用,因为容易引起PHP工作不正常,另外它只能压缩PHP程序的动态生成的页面,对于大量的静态页面尤其是图像文件就不行了。但是mod_gzip模块为Apahe提供了将静态页面在传给客户端以前先压缩的功能,它的压缩比最大能到10,一般情况下可以到 3,也就是说网站的传输速率一下提高了三倍多。要使用mod_gzip还要对Apache进行相应的配置,需要在httpd.conf文件中加入一些参数:
mod_gzip_on Yes(模块是否生效)
mod_gzip_minimum_file_size 1002(最小压缩文件大小)
mod_gzip_maximum_file_size 0(最大压缩文件大小,0表示没有限制)
mod_gzip_maximum_inmem_size 60000(最大可占用内存)
mod_gzip_item_include file "..gif102SINA>DOUBLE_QUOTATION (以gif结尾的文件要压缩传送)
mod_gzip_item_include file ".txt102SINA>DOUBLE_QUOTATION
mod_gzip_item_include file ".html102SINA>DOUBLE_QUOTATION
mod_gzip_item_exclude file ".css102SINA>DOUBLE_QUOTATION
1.3. 文件缓存
这种方法通常是针对PHP、PERL等CGI程序而言的,因为这些程序有一个共同的特征就是接到用户的请求后不是马上将结果返回给用户,而是经过解释器解释执行后将执行结果返回给客户,这期间通常都要涉及到数据库的访问。这样就会出现一个问题,当两个用户访问同一个页面时,系统将分别对两个请求进行操作,但事实上这两个操作可能是一模一样的,这样无形当中增加了系统的负担。所以通常的解决办法是在系统内存中开辟出一段空间,当用户第一次访问页面后将执行结果存放在该内存中,当有用户再一次访问该页面时,系统就将页面直接从内存中调出而不需要重新解释执行,这段内存空间就叫缓存。目前流行的缓存管理程序是Zend Technologies公司的Zend Cache。
2. 执行系统外部命令
PHP作为一种服务器端的脚本语言,象编写简单,或者是复杂的动态网页这样的任务,它完全能够胜任。但事情不总是如此,有时为了实现某个功能,必须借助于操作系统的外部程序(或者称之为命令),这样可以做到事半功倍。
在PHP中调用外部命令,可以用如下三种方法来实现:
2.1. 用PHP提供的专门函数
PHP提供共了3个专门的执行外部命令的函数:system(),exec(),passthru()。
system()
原型:string system (string command [, int return_var])
system()函数很其它语言中的差不多,它执行给定的命令,输出和返回结果。第二个参数是可选的,用来得到命令执行后的状态码。
例子:
system("/usr/local/bin/webalizer/webalizer");
分享到:
相关推荐
【PHP技术开发技巧分享】 PHP是一种广泛应用于Web开发的服务器端脚本语言,以其简洁的语法和高效的速度受到开发者喜爱。然而,在面对高流量、带宽限制或性能瓶颈时,优化PHP代码和运行效率显得尤为重要。以下是一些...
本资料旨在分享PHP开发中的常见技术和最佳实践,涵盖了从基础语法到高级特性的全面知识,包括错误处理、性能优化、数据库交互、框架应用等方面。通过学习这些内容,开发者可以更好地理解和运用PHP,提高工作效率。 ...
在本资源中,我们主要关注的是"PHP100开发实战指南"的源代码分享。这个压缩包包含的是一系列与PHP开发相关的实践项目或...在使用过程中,配合书籍的指导,可以深入理解每个示例背后的逻辑,从而更好地掌握PHP开发技巧。
【PHP实例开发源码—php 方维购物分享系统开源版】是一个基于PHP语言构建的开源购物分享系统。这个系统提供了一整套完善的电子商务解决方案,旨在帮助开发者或网站运营者搭建一个功能丰富的在线购物平台,同时支持...
《PHP实例开发:朋友圈分享系统(多用户版)解析与探讨》 PHP作为一种广泛应用于Web开发的脚本语言,以其开源、易学、高效的特性深受开发者喜爱。在本实例中,我们将深入剖析“PHP实例开发源码—朋友圈分享系统(多...
【PHP技术峰会演示文档概述】 ...总结来说,2014PHP技术峰会的演示文档是一个宝贵的资源,涵盖了PHP性能优化、异步编程和开发效率提升等多个重要话题,对于任何希望在PHP领域精进的人来说,都是值得深入研究的材料。
面试不仅是展示技术能力的平台,也是展现解决问题的能力、沟通技巧和团队协作精神的机会。以下是一些重要的PHP面试知识点和相关技巧,供您参考: 1. **PHP基础知识**: - PHP语言特性:理解PHP的动态类型、弱类型...
乐活途购物分享社区源码是一款基于PHP编程语言开发的电子商务平台,旨在为用户提供一个集购物、分享于一体的社交环境。这个源码实例是开发者或学习者深入理解PHP在构建复杂Web应用时如何处理用户交互、数据库操作、...
【标题】"PHP实例开发源码—苹果CMS视频分享程序 v10.zip"是一个基于PHP编程语言的开源项目,主要用于创建视频分享平台。这个压缩包包含的是一套完整的苹果CMS系统的第10个版本,旨在帮助开发者或者网站管理员构建一...
《PHP和MySQL Web开发(原书第4版)》是一本深入探讨Web开发技术的专业书籍,专注于PHP与MySQL这两种在Web开发中广泛使用的语言和技术。这本书面向已经具备一定编程基础的开发人员,旨在帮助他们提升在构建动态、交互...
对于希望全面掌握PHP与MySQL开发技巧的读者来说,这是一本不可或缺的指南。 2. **《PHP程序设计》(第2版)** - 由PHP语言创始人Rasmus Lerdorf编写,这本书详细介绍了PHP的核心语法和编程技巧,是学习PHP语言精髓的...
通过研究这些代码,开发者可以学习到如何处理用户交互、管理文件上传、优化查询性能以及实现用户权限控制等实际开发技巧。 总的来说,这个压缩包为学习PHP Web开发提供了实践案例,对于初学者和有经验的开发者来说...
【PHP实例开发源码—FSS私密文件分享及传递工具】 这个压缩包包含了一个基于PHP的私密文件分享及传递工具的源代码。通过学习和理解这些源代码,你可以了解到如何利用PHP来构建一个安全的文件分享系统,这对于那些想...
- **性能优化技巧**:分享提高PHP扩展性能的经验和技巧,如内存管理等。 - **调试与测试**:讲解如何调试和测试PHP扩展,确保其稳定性和可靠性。 #### 五、项目进展与互动 - **第一期工作已完成**:初步翻译工作...
11. Web开发技术:表单处理、会话管理、文件上传下载、图像处理等Web开发相关的技巧。 12. 单元测试和代码质量:编写单元测试、代码重构、遵循最佳实践以提高代码质量。 13. 实际案例分析:通过分析具体的案例来加深...
【PHP实例开发源码—BidCms模仿Pinterest的开源图片分享系统】 PHP是一种广泛使用的开源脚本语言,尤其在Web开发领域中占据了重要的地位。这个名为"PHP实例开发源码—BidCms模仿Pinterest的开源图片分享系统"的项目...
通过分析和学习Chevereto源码,开发者可以了解Web应用的基本结构、PHP编程技巧、数据库交互方法以及图片处理技术。这不仅可以帮助初学者提升技能,也为有经验的开发者提供了一个可扩展和定制的平台,以满足他们特定...
在PHP开发领域,掌握一些经典的项目是提升技能和实践经验的关键。以下是对"PHP开发十大项目"的详细解读,这些项目不仅适合新手入门,也是进阶...同时,不断跟踪最新的PHP技术和框架,以便在未来的工作中保持竞争力。