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中$this-&amp;gt;含义分析
Nov 29 PHP
php设计模式之命令模式的应用详解
May 21 PHP
解析PHP跨站刷票的实现代码
Jun 18 PHP
PHP Class&amp;Object -- PHP 自排序二叉树的深入解析
Jun 25 PHP
无刷新动态加载数据 滚动条加载适合评论等页面
Oct 16 PHP
PHP中使用FFMPEG获取视频缩略图和视频总时长实例
May 04 PHP
PHPMailer发送HTML内容、带附件的邮件实例
Jul 01 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
Apr 14 PHP
php邮箱地址正则表达式验证
Nov 13 PHP
php文档工具PHP Documentor安装与使用方法
Jan 25 PHP
PHP获取昨天、今天及明天日期的方法
Feb 03 PHP
zen_cart实现支付前生成订单的方法
May 06 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中对数组的一些常用的增、删、插操作函数总结
2015/11/27 PHP
基于PHP实现等比压缩图片大小
2016/03/04 PHP
php生成图片缩略图功能示例
2017/02/22 PHP
js onkeypress与onkeydown 事件区别详细说明
2012/12/13 Javascript
jQuery中:visible选择器用法实例
2014/12/30 Javascript
jQuery获得document和window对象宽度和高度的方法
2015/03/25 Javascript
cocos2dx骨骼动画Armature源码剖析(三)
2015/09/08 Javascript
HTML5游戏引擎LTweenLite实现的超帅动画效果(附demo源码下载)
2016/01/26 Javascript
浅述Javascript的外部对象
2016/12/07 Javascript
tablesorter.js表格排序使用方法(支持中文排序)
2017/02/10 Javascript
详解从新建vue项目到引入组件Element的方法
2017/08/29 Javascript
vue-router 导航钩子的具体使用方法
2017/08/31 Javascript
web3.js增加eth.getRawTransactionByHash(txhash)方法步骤
2018/03/15 Javascript
使用D3.js构建实时图形的示例代码
2018/08/28 Javascript
详解在create-react-app使用less与antd按需加载
2018/12/06 Javascript
JavaScript利用键盘码控制div移动
2020/03/19 Javascript
使用vue实现通过变量动态拼接url
2020/07/22 Javascript
Element-UI 使用el-row 分栏布局的教程
2020/10/26 Javascript
原生JavaScript实现换肤
2021/02/19 Javascript
python两种遍历字典(dict)的方法比较
2014/05/29 Python
python 读取竖线分隔符的文本方法
2018/12/20 Python
Python分析彩票记录并预测中奖号码过程详解
2019/07/09 Python
Python实现计算图像RGB均值方式
2020/06/04 Python
html5 Canvas画图教程(8)—canvas里画曲线之bezierCurveTo方法
2013/01/09 HTML / CSS
实例教程 HTML5 Canvas 超炫酷烟花绽放动画实现代码
2014/11/05 HTML / CSS
深入理解HTML5定时器requestAnimationFrame的使用
2018/12/12 HTML / CSS
金宝贝童装官网:Gymboree
2016/08/31 全球购物
世界上最好的儿童品牌:AlexandAlexa
2018/01/27 全球购物
群众路线教育实践活动方案
2014/10/31 职场文书
2014预防青少年违法犯罪工作总结
2014/12/10 职场文书
具结保证书
2015/01/17 职场文书
应届生求职自荐信范文
2015/03/04 职场文书
小学数学继续教育研修日志
2015/11/13 职场文书
2016民族团结先进个人事迹材料
2016/02/26 职场文书
Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境
2021/03/29 PHP
nginx中封禁ip和允许内网ip访问的实现示例
2022/03/17 Servers