PHP编程开发怎么提高编程效率 提高PHP编程技术


Posted in PHP onNovember 09, 2015

用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则 不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加 上了双引号)。

1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。

2、$row['id'] 的速度是$row[id]的7倍。

3、echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。

4、在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替。

5、注销那些不用的变量尤其是大数组,以便释放内存。

6、尽量避免使用__get,__set,__autoload。

7、require_once()代价昂贵。

8、include文件时尽量使用绝对路径,因为它避免了PHP去include_path里查找文件的速度,解析操作系统路径所需的时间会更少。

9、如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER[‘REQUEST_TIME']要好于time()。

10、函数代替正则表达式完成相同功能。

11、str_replace函数比preg_replace函数快,但strtr函数的效率是str_replace函数的四倍。

12、如果一个字符串替换函数,可接受数组或字符作为参数,并且参数长度不太长,那么可以考虑额外写一段替换代码,使得每次传递参数是一个字符,而不是只写一行代码接受数组作为查询和替换的参数。

13、使用选择分支语句(译注:即switch case)好于使用多个if,else if语句。

14、用@屏蔽错误消息的做法非常低效,极其低效。

15、打开apache的mod_deflate模块,可以提高网页的浏览速度。

16、数据库连接当使用完毕时应关掉,不要用长连接。

17、错误消息代价昂贵。

18、在方法中递增局部变量,速度是最快的。几乎与在函数中调用局部变量的速度相当。

19、递增一个全局变量要比递增一个局部变量慢2倍。

20、递增一个对象属性(如:$this->prop++)要比递增一个局部变量慢3倍。

下面给大家介绍提高PHP编程技术。

我决定在这里给大家讲述一些能够提高大家PHP代码效果的注意事项:

1、PHP标签

我知道有些人写PHP代码的时候喜欢用缩略标签—<? ?>,但是这可不是个好习惯,因为缩略标签在有些服务器上不能被正确识别,而标准的PHP标签的使用使你可以在任何一台服务器上准确编译你的PHP代码。可能有一天你需要把你的代码安装在那些不支持缩略标签的服务器上,于是你将不得不花费一个小时或者更多的时间老实的坐下来升级你的PHP代码

2、PHP代码的调试

有时我们运行PHP代码的时候会碰到问题并且我们不知道这问题究竟出在哪儿。而PHP中专门有个error_reporting() 函数,它可以告诉你你的代码中的每一处错误。如果你希望它显示页面的所有可能出现的错误信息,可以将下面这句代码放在文件的第二行:

PHP:

--------------------------------------------------------------------------------
error_reporting(E_ALL);
-------------------------------------------------------------------------------- 

3、PHP代码的调试(补充)

如果你完成一个有1200行PHP代码的文件,并在浏览器中浏览它时,显示你的代码的错误出现在文件的第561行。此时你有个简单的方法来找到该行,按照以下步骤:

——新建一记事本
——把你的PHP代码复制进去
——“编辑”->“转到”
——输入“561”,回车
——你的鼠标就停留在561行了
——在该行附近看看是否存在错误
——修正错误,重新上传代码到你的空间,很可能将正常运行。如果还有什么错误,则重复以上步骤。
彷徨一小生  补充:现在大都用editplus之类的软件,这个方法过时了哦

4、使用注释

如果你的PHP代码有1200行,那么要搞明白它要做什么是一件很困难的事,解决这个问题的办法就是为你的代码加上注释。
PHP的注释不同于HTML中的<!-- HTML 注释 --> ,因为它将不被输出(以为着它们甚至不会被在“查看源文件”时看到)
有三中方法在PHP中添加注释:

PHP:

--------------------------------------------------------------------------------

<?php 
// 你的注释// 
# 你的注释
/*你的注释 */ 
?>

-------------------------------------------------------------------------------- 

你可以按照你所希望的来装饰它们,你是唯一使用它们的人。

5、PHP代码的缩进

我个人其实不喜欢缩进PHP代码,但是它确实使代码易于阅读。当我不得不进行缩进时,我是用tab笺来进行的,如下:

PHP:

--------------------------------------------------------------------------------
<?php 
// Settings // 
  $var1 = "This";
// Showing Variables // 
  if($var1 == "This"){ 
    echo"You said This"; 
  }else{ 
    echo"You said That"; 
  } 
?>
-------------------------------------------------------------------------------

 6、修正你的PHP文件包含方式

我确信这里的大部分人在一个文件中都会需要包含一个或两个其它的文件。有没有想过如果并不存在你所需要的那个文件怎么办?浏览你网页的人会否因此觉得你不够专业?
在我所写的PHP代码中,我在包含另外一个文件之前都会先确定它存在,如下例:

PHP:

--------------------------------------------------------------------------------
<?php 
if(!file_exists("layout.inc.php")){exit("Error : LayOut File Missing");}else{include_once("layout.inc.php");} 
?>
--------------------------------------------------------------------------------

7、数据库查询

有时你的PHP代码中包含着于数据库的连接,你可能会遇到一些小麻烦,大部分容易出现数据库问题的人都是以这样的形式来写代码的:

PHP:

--------------------------------------------------------------------------------
<?php 
mysql_query("INSERT INTO tableName ('id','name') VALUES('1','Mike')"); 
?>
--------------------------------------------------------------------------------

。。运行之后他发现数据并没有插入到数据库中,我们可以这样来解决这个问题:

PHP:

--------------------------------------------------------------------------------
<?php 
mysql_query("INSERT INTO tableName ('id','name') VALUES('1','Mike')") or exit("MySQL Error : " . mysql_error()); 
?>
--------------------------------------------------------------------------------

8、缩略类似IF-THEN的语句

假如你接收一个注册页面传递的数据,而你想保证所有信息都已填写,你可能会用包含很多IF-THEN格式的语句,象下面这个:

PHP:

--------------------------------------------------------------------------------
<?php 
if(!$_POST[name]){exit("Sorry, but you did not fill-in all of the requested fields.");} 
if(!$_POST[email]){exit("Sorry, but you did not fill-in all of the requested fields.");} 
?>
--------------------------------------------------------------------------------

而实际上你可以通过合并这两行的IF-THEN语句使它只有一行:

PHP:

--------------------------------------------------------------------------------
<?php 
if((!$_POST[name]) || (!$_POST[email])){exit("Sorry, but you did not fill-in all of the requested fields.");} 
?>
--------------------------------------------------------------------------------

||和OR,&&和AND分别具有相同的意义

9、使用echo还是print?

大部分人会说“echo和print是相同的”,我同意这个观点。不过echo的运行速度要比print快很多,并且比print少一个字母。echo命令比print出现得晚一些(我这样认为),显然你知道该如何选择了。

10、不时输入一大段HTML语言

我相信很多人都有解决这个的办法,但是我还是想和你说说解决这个的一些办法。
⑴、输入PHP的结束标签,然后就可以随意的输入HTML代码,然后再PHP的开始标签(我不喜欢这样做,因为它看起来很不专业)。
⑵、在每句HTML代码中都加入反斜线(这样是可行的,但是你一直要这样—每一句都要)。
⑶、使用echo或者print命令,仅此而已(推荐):

PHP:

--------------------------------------------------------------------------------
<?php 
// Showing a huge chunk of HTML at a time // 
echo<<<END 
<font face="Verdana" color="Orange" size="3">Large, Orange Text in Font Size 3</font> 
<br><br> 
More HTML down here.. 
<br><br> 
<div align="Center">Centered text</div> 
END; 
?>
--------------------------------------------------------------------------------

实际上我还有很多其它的关于修饰PHP代码的东西想说,但是就这样吧,我不想继续烦大家了。
希望对大家有所帮助。

以上内容是小编给大家介绍的PHP编程开发怎么提高编程效率 提高php编程技术的全部叙述,希望大家喜欢。

PHP 相关文章推荐
phpBB BBcode处理的漏洞
Oct 09 PHP
不用数据库的多用户文件自由上传投票系统(2)
Oct 09 PHP
php获取url字符串截取路径的文件名和扩展名的函数
Jan 22 PHP
PHP中数组合并的两种方法及区别介绍
Sep 14 PHP
php针对cookie操作的队列操作类实例
Dec 10 PHP
Symfony2实现从数据库获取数据的方法小结
Mar 18 PHP
thinkphp分页集成实例
Jul 24 PHP
php实现将二维关联数组转换成字符串的方法详解
Jul 31 PHP
PHP仿tp实现mvc框架基本设计思路与实现方法分析
May 23 PHP
PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
Jun 09 PHP
PHP实现的CURL非阻塞调用类
Jul 26 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
Nov 26 PHP
PHP 7的一些引人注目的新特性简单介绍
Nov 08 #PHP
php实现mysql数据库连接操作及用户管理
Nov 08 #PHP
php实现处理输入转义字符的代码
Nov 08 #PHP
修复ShopNC使用QQ 互联时提示100010 错误
Nov 08 #PHP
详解PHP数组赋值方法
Nov 07 #PHP
php实现点击可刷新验证码
Nov 07 #PHP
PHP中SSO Cookie登录分析和实现
Nov 06 #PHP
You might like
PHP调用三种数据库的方法(2)
2006/10/09 PHP
PHP解析html类库simple_html_dom的转码bug
2014/05/22 PHP
php简单获取文件扩展名的方法
2015/03/24 PHP
php基于SQLite实现的分页功能示例
2017/06/21 PHP
JS获取IUSR_机器名和IWAM_机器名帐号的密码
2006/12/06 Javascript
javascript模拟的Ping效果代码 (Web Ping)
2011/03/13 Javascript
javascript中将Object转换为String函数代码 (json str)
2012/04/29 Javascript
JavaScript之IE的fireEvent方法详细解析
2013/11/20 Javascript
javascript中的return和闭包函数浅析
2014/06/06 Javascript
javascript复制粘贴与clipboardData的使用
2014/10/16 Javascript
JavaScript tab选项卡插件实例代码
2016/02/23 Javascript
BootStrap表单宽度设置方法
2017/03/10 Javascript
微信JS SDK接入的几点注意事项(必看篇)
2017/06/23 Javascript
node.js中http模块和url模块的简单介绍
2017/10/06 Javascript
vue 指令之气泡提示效果的实现代码
2018/10/18 Javascript
JS实现的类似微信聊天效果示例
2019/01/29 Javascript
vue element-ui实现input输入框金额数字添加千分位
2019/12/29 Javascript
[02:00]最后,我终于出了辉耀
2018/03/27 DOTA
python实现自动发送邮件发送多人、群发、多附件的示例
2018/01/23 Python
简单谈谈python基本数据类型
2018/09/26 Python
基于python实现学生管理系统
2018/10/17 Python
解决python ogr shp字段写入中文乱码的问题
2018/12/31 Python
Python Flask框架扩展操作示例
2019/05/03 Python
Python生成一个迭代器的实操方法
2019/06/18 Python
Flask框架学习笔记之消息提示与异常处理操作详解
2019/08/15 Python
tf.concat中axis的含义与使用详解
2020/02/07 Python
python argparse模块通过后台传递参数实例
2020/04/20 Python
J2EE中常用的名词进行解释
2015/11/09 面试题
会计实习生自我鉴定
2013/12/12 职场文书
优秀毕业生自我鉴定
2014/02/11 职场文书
法人身份证明书
2014/10/08 职场文书
房屋出售授权委托书
2014/10/12 职场文书
确保工程质量承诺书
2015/04/29 职场文书
网聊搭讪开场白
2015/05/28 职场文书
学困生转化工作总结
2015/08/13 职场文书
解析Java异步之call future
2021/06/14 Java/Android