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 相关文章推荐
使用PHP数组实现无限分类,不使用数据库,不使用递归.
Dec 09 PHP
允许phpmyadmin空密码登录的配置方法
May 29 PHP
PHP中集成PayPal标准支付的实现方法分享
Feb 06 PHP
php实现查询百度google收录情况(示例代码)
Aug 02 PHP
php5.3不能连接mssql数据库的解决方法
Dec 27 PHP
php计算给定时间之前的函数用法实例
Apr 03 PHP
php 无限级分类 获取顶级分类ID
Mar 13 PHP
PHP实现的通过参数生成MYSQL语句类完整实例
Apr 11 PHP
Python中使用django form表单验证的方法
Jan 16 PHP
AJAX的使用方法详解
Apr 29 PHP
使用PHP json_decode可能遇到的坑与解决方法
Aug 03 PHP
php下的原生ajax请求用法实例分析
Feb 28 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观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
js模拟弹出效果代码修正版
2008/08/07 Javascript
jQuery 1.8 Release版本发布了
2012/08/14 Javascript
javascript通过navigator.userAgent识别各种浏览器
2013/10/25 Javascript
jquery动态添加删除一行数据示例
2014/06/12 Javascript
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
2015/12/14 Javascript
Knockout结合Bootstrap创建动态UI实现产品列表管理
2016/09/14 Javascript
jQuery解析XML 详解及方法总结
2016/09/28 Javascript
Angular.Js中ng-include指令的使用与实现
2017/05/07 Javascript
input 标签实现输入框带提示文字效果(两种方法)
2017/10/09 Javascript
JavaScript中的一些隐式转换和总结(推荐)
2017/12/22 Javascript
json字符串传到前台input的方法
2018/08/06 Javascript
Node.js搭建WEB服务器的示例代码
2018/08/15 Javascript
微信小程序之判断页面滚动方向的示例代码
2018/08/30 Javascript
Vue中 key keep-alive的实现原理
2018/09/18 Javascript
Python连接mysql数据库的正确姿势
2016/02/03 Python
深入讲解Python函数中参数的使用及默认参数的陷阱
2016/03/13 Python
Python中将字典转换为列表的方法
2016/09/21 Python
浅谈Python NLP入门教程
2017/12/25 Python
[原创]python爬虫(入门教程、视频教程)
2018/01/08 Python
python 保存float类型的小数的位数方法
2018/10/17 Python
DJango的创建和使用详解(默认数据库sqlite3)
2019/11/18 Python
详解python实现可视化的MD5、sha256哈希加密小工具
2020/09/14 Python
佳能德国网上商店:Canon德国
2017/03/18 全球购物
台湾专柜女包:KINAZ
2019/12/26 全球购物
高校生生产实习自我鉴定
2013/09/21 职场文书
求职简历的自我评价
2014/01/31 职场文书
党员岗位承诺口号大全
2014/03/28 职场文书
廉洁家庭事迹材料
2014/05/15 职场文书
创先争优活动心得体会
2014/09/04 职场文书
关于拾金不昧的感谢信
2015/01/21 职场文书
2015年九一八事变纪念活动实施方案
2015/05/06 职场文书
培训心得体会怎么写
2016/01/25 职场文书
Python爬虫基础讲解之请求
2021/05/13 Python
Python OpenCV实现传统图片格式与base64转换
2021/06/13 Python
MYSQL 的10大经典优化案例场景实战
2021/09/14 MySQL