先总结一下最近的一个技巧: 将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…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
分享到:
相关推荐
2. **核心代码示例**:以下为`Head.php`文件的核心代码,展示了如何利用PHP与HTML构建论坛的基本页面结构。 ```php ;charset=gb2312"/> <?php $sqlstr = "SELECT * FROM system WHERE id = 1"; $result = ...
在PHP Web2.0开发领域,源码分析与实战经验是提升技能的关键。"php web2.0开发实战源码"这一主题涵盖了Web2.0应用程序的构建、优化以及架构设计等多个方面。Web2.0是指互联网从信息传递转向用户交互的变革,它强调...
在压缩包中,文件名表明包含了整个项目的源代码,这可能包括PHP文件、HTML模板、CSS样式表、JavaScript脚本、数据库配置文件以及其他辅助文件。通过解压并运行这些文件,开发者可以在本地环境中搭建并测试该会议记录...
总结来说,LeapsPHPFramework作为一个轻量级的PHP开发框架,不仅提供了基础的MVC结构,还支持路由、数据库操作、错误处理等核心功能,同时具备良好的扩展性和灵活性。无论你是初学者还是经验丰富的开发者,都能从中...
总结,ThinkPHP轻量级PHP开发框架以其高效、简洁的特性,成为PHP开发者的得力工具。无论是初学者还是经验丰富的开发者,都能从中受益,快速构建高质量的Web应用。通过深入学习和实践,我们可以更好地利用这个框架,...
6. **.idea**:这是一个IDE(集成开发环境)的配置文件,通常与开发过程无关,但对于团队协作和版本控制可能有帮助。 7. **images**:这是一个包含图片资源的文件夹,可能用于美化系统界面或者展示学生照片。在PHP...
使用PHP开发桌面应用的优势在于,PHP拥有丰富的库和框架支持,开发者可以复用现有的Web开发经验。此外,由于PHP是跨平台的,因此创建的应用可以在多种操作系统上运行。然而,挑战也不容忽视,比如性能可能不如专门的...
总结来说,PHP实例开发源码-暴风微赚文章分享赚钱系统提供了一个实战学习PHP Web开发的平台,涵盖了数据库操作、用户认证、支付集成等多个方面,对于提升PHP开发者的技术水平和项目经验具有很大帮助。同时,通过对...
其代码结构清晰,遵循MVC(Model-View-Controller)设计模式,便于开发人员进行二次开发和维护。 **安全特性** 1. **文件验证**:上传的文件会经过病毒扫描,确保不会传播恶意软件。 2. **数据加密**:敏感数据如...
35. **不利用设计模式**:设计模式是解决常见问题的经验总结,能够提升代码质量。 36. **不允许用户自定义基础目录**:适应不同环境和部署需求。 37. **错误使用命名空间**:避免使用通用名称,减少命名冲突。 38...
2. **理解目录结构**:熟悉框架的目录结构,包括模型、视图、控制器、配置文件等位置。 3. **创建控制器**:根据需求创建控制器类,定义处理用户请求的方法。 4. **设计模型**:实现业务逻辑,与数据库交互,创建...
Doo框架是一款面向对象的开源PHP开发框架,旨在简化Web应用的构建过程,提供快速开发环境,同时保持代码的可维护性和扩展性。本文将对Doo框架的核心特性、设计原则以及如何使用进行详尽解析。 一、Doo框架的核心...
其核心理念在于解耦应用的业务逻辑和展示层,使得代码结构更清晰,易于维护。 二、核心组件 1. Router:路由系统是ThinkPHP的核心组件之一,它负责解析请求URL,并将其映射到相应的控制器和操作。RC2版本中的路由...
- **bin**: 存储Apache和PHP系统文件、PHP配置文件、Zend/MMcache加速器、服务配置程序等。 - **webroot**: 作为人网OA的Web根目录,包括各种模块、图片、配置文件等。 - **attachment**: 存储附件,可通过`webroot...
总结起来,这个“基于Vue + Hyperf开发的后台系统构建工具”是一个高效且实用的开发平台,它简化了后台系统的开发流程,使开发者能更专注于业务逻辑的实现。无论你是PHP初学者还是有经验的开发者,都能从中受益,...
《PHP 7.1.13的深度...总结,PHP 7.1.13作为PHP 7系列的重要成员,它的出现不仅提升了开发效率,也带来了更好的性能表现。无论你是新手还是经验丰富的开发者,了解和掌握这个版本的特性都将对你的编程生涯大有裨益。
【基于JAVAJSP的网上书店系统经验总结】 在互联网开发领域,JAVA语言因其强大而广泛的功能,成为了构建大型WEB程序的首选。JAVAJSP技术的结合,为开发高效、安全的网上书店系统提供了有力的支持。这篇文档将深入...
总结,PHPvod Studio 视频点播系统展示了PHP在多媒体领域的强大能力,通过深入研究这个系统,开发者不仅可以提升PHP编程技能,还能了解到视频服务背后的架构设计和实现细节,为自己的项目开发积累宝贵经验。
code-master"文件夹很可能包含了项目的根目录,里面可能包含公共配置(config)、模型(model)、控制器(controller)、视图(view)等多个子目录,以及公共函数(common.php)、路由(route.php)等重要文件。...
liuyanban2可能是这个留言板系统的主文件夹,其中可能包含配置文件、模型文件、控制器文件、视图文件、公共函数库等,按照ThinkPHP的标准目录结构组织。部署时,只需将整个项目上传至服务器,并配置好数据库连接,...