`
dcj3sjt126com
  • 浏览: 1871341 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PHP开发经验总结;利用配置文件更文件维护

    博客分类:
  • PHP
阅读更多

先总结一下最近的一个技巧:   将JAVA中的一种配置文件方式引入PHP,想着可维护性,所以在模板中输出的值跟数据库里面对应的是不同的时候,采用配置文件的方式,比如数据库里面存的1、2、3,而要显示的是小学、中学、高中,这种时候采用配置文件,增强可维护性,少写冗余代码!

 

1.使用内嵌的HTML代码,而不是PHP的echo语句。
因为PHP是一门嵌入式Web编程语言,可以将HTML代码和PHP代码相互嵌入。但是很多程序员担心在HTML代码中过多的使用”"嵌入PHP代码会多次调用PHP解释器,从而降低了PHP代码的运行速度,所以宁愿使用PHP的echo语句来输出HTML代码,而不直接使用HTML代码。但事实却恰恰相反。每一个PHP页面只调用一次PHP解释器来解释所有的PHP代码,所以,只在需要时才嵌入PHP代码,而大多数的时候直接使用HTML代码输入结果,不但不会降低程序的运行速度,而且因为减少了对echo语句的解析,往往可以提高代码的运行速度。

2.尽量使用str-replace而不是ereg-replace
习惯使用Perl进行编程的程序员更加愿意使用ereg_replace完成字符串替换工作,因为在PHP中ereg_replace的用法和Perl中模式匹配的用法相近。但是,下面的这段代码证明,使用str_replace 代替 ereg_replace将可以大大提高代码的运行速度。

3.注意字符串的引用
PHP和其它很多编程语言一样,可以使用双引号(”")来引用字符串,也可以使用单引号()。但是在PHP中,如果使用双引号来引用字符串,那么PHP解析器将首先分析字符串中有没有对变量的引用,有变量的话,将对变量进行替换。如果是单引号,则没有如此复杂——直接将单引号包含起来的所有字符串直接显示出来。显然,在PHP编程中,如果使用单引号引用字符串变量要比使用双引号快速一些。

4.在执行for循环之前确定最大循环数,不要每循环一次都计算最大值
view sourceprint?
1 <!--p 

2 //不要这样做 

3 for ($i=0;$i<=count($array);$i++){ 

4 ... 

5 } 

6 //应该这样做 

7 $array_length = count($array); 

8 for ($i=0;$i<=$array_length;$i++){ ... }--> 
5.注意include与require的区别
在PHP变成中,include()与require()的功能相同,但在用法上却有一些不同,include()是有条件包含函数,而require()则是无条件包含函数。例如在下面的一个例子中,如果变量$somgthing为真,则将包含文件somefile
if($something){
include(“somefile.txt”);
}
但不管$something取何值,下面的代码将把文件somefile包含进文件里:
if($something){
require(“somefile.txt”);
}

6.做数据库查询操作时,应尽量避免联合操作
比起其它的Web编程语言来说,PHP的数据库功能十分强大。
但是在PHP中数据库的运行仍然是一件十分费时费力的事情,
所以,作为一个Web程序员,要尽量减少数据库的查询操作,
同时应该为数据库建立适当的索引。
另一件值得注意的事情是在用PHP操作数据库时,
尽可能不使用多个数据表的联合操作,
尽管联合操作可以增强数据库的查询功能,但是却大大增加了服务器的负担。

7.如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER[‘REQUEST_TIME’]要好过于用time()函数。
8.不一定必须要面向对象,面向对象是比较耗时的。有些简单的操作还是过程的快。
9.$row['id']的速度是$row[id]的7倍
10.echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。
11.当if&hellip;else…嵌套比较多时,应选择switch….case
12.将不用的mysql查询结果要及时地释放掉(mysql_free_result())
13.isset()和empty()的区别
两者都是测试变量用的
但是isset()是测试变量是否被赋值,而empty()是测试一个已经被赋值的变量是否为空
如果一个变量没被赋值就引用在php里是被允许的,但会有notice提示
如果一个变量被赋空值,$foo=”"或者$foo=0或者 $foo=false,那么empty($foo)返回真,isset($foo)也返回真,就是说赋空值不会注销一个变量。
要注销一个变量,可以用 unset($foo)或者$foo=NULL

分享到:
评论

相关推荐

    PHP网页开发与设计实训报告

    2. **核心代码示例**:以下为`Head.php`文件的核心代码,展示了如何利用PHP与HTML构建论坛的基本页面结构。 ```php ;charset=gb2312"/&gt; &lt;?php $sqlstr = "SELECT * FROM system WHERE id = 1"; $result = ...

    php web2.0开发实战源码

    在PHP Web2.0开发领域,源码分析与实战经验是提升技能的关键。"php web2.0开发实战源码"这一主题涵盖了Web2.0应用程序的构建、优化以及架构设计等多个方面。Web2.0是指互联网从信息传递转向用户交互的变革,它强调...

    实战突击:PHP项目开发案例整合-配套源码【第一章会议记录管理系统源码】

    在压缩包中,文件名表明包含了整个项目的源代码,这可能包括PHP文件、HTML模板、CSS样式表、JavaScript脚本、数据库配置文件以及其他辅助文件。通过解压并运行这些文件,开发者可以在本地环境中搭建并测试该会议记录...

    基于PHP的LeapsPHPFramework轻量级php开发框架源码.zip

    总结来说,LeapsPHPFramework作为一个轻量级的PHP开发框架,不仅提供了基础的MVC结构,还支持路由、数据库操作、错误处理等核心功能,同时具备良好的扩展性和灵活性。无论你是初学者还是经验丰富的开发者,都能从中...

    基于PHP的ThinkPHP轻量级PHP开发框架核心版源码.zip

    总结,ThinkPHP轻量级PHP开发框架以其高效、简洁的特性,成为PHP开发者的得力工具。无论是初学者还是经验丰富的开发者,都能从中受益,快速构建高质量的Web应用。通过深入学习和实践,我们可以更好地利用这个框架,...

    入门php学习--学生信息系统 源码

    6. **.idea**:这是一个IDE(集成开发环境)的配置文件,通常与开发过程无关,但对于团队协作和版本控制可能有帮助。 7. **images**:这是一个包含图片资源的文件夹,可能用于美化系统界面或者展示学生照片。在PHP...

    apphp_v1.0(php桌面应用方案)

    使用PHP开发桌面应用的优势在于,PHP拥有丰富的库和框架支持,开发者可以复用现有的Web开发经验。此外,由于PHP是跨平台的,因此创建的应用可以在多种操作系统上运行。然而,挑战也不容忽视,比如性能可能不如专门的...

    PHP实例开发源码-暴风微赚文章分享赚钱系统 php版.zip

    总结来说,PHP实例开发源码-暴风微赚文章分享赚钱系统提供了一个实战学习PHP Web开发的平台,涵盖了数据库操作、用户认证、支付集成等多个方面,对于提升PHP开发者的技术水平和项目经验具有很大帮助。同时,通过对...

    PHPDisk网盘系统(PHP源码)- PHP网盘系统源码

    其代码结构清晰,遵循MVC(Model-View-Controller)设计模式,便于开发人员进行二次开发和维护。 **安全特性** 1. **文件验证**:上传的文件会经过病毒扫描,确保不会传播恶意软件。 2. **数据加密**:敏感数据如...

    phper陋习 PHP开发必读

    35. **不利用设计模式**:设计模式是解决常见问题的经验总结,能够提升代码质量。 36. **不允许用户自定义基础目录**:适应不同环境和部署需求。 37. **错误使用命名空间**:避免使用通用名称,减少命名冲突。 38...

    PHP5开发框架IrisMVC

    2. **理解目录结构**:熟悉框架的目录结构,包括模型、视图、控制器、配置文件等位置。 3. **创建控制器**:根据需求创建控制器类,定义处理用户请求的方法。 4. **设计模型**:实现业务逻辑,与数据库交互,创建...

    基于PHP的Doo轻量级开源PHP开发框架源码.zip

    Doo框架是一款面向对象的开源PHP开发框架,旨在简化Web应用的构建过程,提供快速开发环境,同时保持代码的可维护性和扩展性。本文将对Doo框架的核心特性、设计原则以及如何使用进行详尽解析。 一、Doo框架的核心...

    基于PHP的ThinkPHP轻量级PHP开发框架RC2核心版源码.zip

    其核心理念在于解耦应用的业务逻辑和展示层,使得代码结构更清晰,易于维护。 二、核心组件 1. Router:路由系统是ThinkPHP的核心组件之一,它负责解析请求URL,并将其映射到相应的控制器和操作。RC2版本中的路由...

    人网OA二次开发手册.docx

    - **bin**: 存储Apache和PHP系统文件、PHP配置文件、Zend/MMcache加速器、服务配置程序等。 - **webroot**: 作为人网OA的Web根目录,包括各种模块、图片、配置文件等。 - **attachment**: 存储附件,可通过`webroot...

    基于Vue + hyperf 开发而成后台系统构建工具,只用php代码即可快速构建出一个功能完善的后台系统.zip

    总结起来,这个“基于Vue + Hyperf开发的后台系统构建工具”是一个高效且实用的开发平台,它简化了后台系统的开发流程,使开发者能更专注于业务逻辑的实现。无论你是PHP初学者还是有经验的开发者,都能从中受益,...

    php-7.1.13.tar.gz

    《PHP 7.1.13的深度...总结,PHP 7.1.13作为PHP 7系列的重要成员,它的出现不仅提升了开发效率,也带来了更好的性能表现。无论你是新手还是经验丰富的开发者,了解和掌握这个版本的特性都将对你的编程生涯大有裨益。

    基于JAVAJSP的网上书店系统经验总结.doc

    【基于JAVAJSP的网上书店系统经验总结】 在互联网开发领域,JAVA语言因其强大而广泛的功能,成为了构建大型WEB程序的首选。JAVAJSP技术的结合,为开发高效、安全的网上书店系统提供了有力的支持。这篇文档将深入...

    PHP实例开发源码—PHPvod Studio 视频点播系统for php5.3.x GBK.zip

    总结,PHPvod Studio 视频点播系统展示了PHP在多媒体领域的强大能力,通过深入研究这个系统,开发者不仅可以提升PHP编程技能,还能了解到视频服务背后的架构设计和实现细节,为自己的项目开发积累宝贵经验。

    ThinkPHP5.1项目后台功能开发源码_PHP_CSS_下载.zip

    code-master"文件夹很可能包含了项目的根目录,里面可能包含公共配置(config)、模型(model)、控制器(controller)、视图(view)等多个子目录,以及公共函数(common.php)、路由(route.php)等重要文件。...

    thinkphp开发的留言板源代码

    liuyanban2可能是这个留言板系统的主文件夹,其中可能包含配置文件、模型文件、控制器文件、视图文件、公共函数库等,按照ThinkPHP的标准目录结构组织。部署时,只需将整个项目上传至服务器,并配置好数据库连接,...

Global site tag (gtag.js) - Google Analytics