阅读更多

3顶
3踩

编程语言

原创新闻 10 条 Tips 助你成为优秀的 PHP 开发者

2012-10-17 15:44 by 副主编 wangguo 评论(9) 有6922人浏览
如今PHP已经成为了最流行的web开发语言,数以百万计的网站使用PHP开发,其中不乏一些鼎鼎有名的站点,如Facebook、Wikipedia等,以及一些知名的CMS,如WordPress、Joomla和Drupal等。

对于PHP开发者来说,提高编码水平相当重要。本文分享一些开发经验,以帮助你成为一名优秀的PHP开发者。

1.  优先使用PHP核心函数和类

创建自己的函数之前,请务必查看PHP手册。使用PHP的核心函数,可以帮你节省大把时间。例如,没有必要去创建一个用于RSS订阅的XML解析器,你可以利用PHP的XML解析器函数

2.  一定要创建一个配置文件

不要将你的数据库连接设置分散到每个PHP文件中,你可以使用一个配置文件,这样可以使你的代码更加模块化,更易于维护。你只需创建一个数据库配置文件,然后在PHP文件中引用即可,以后可以很方便地更改连接信息。

3.  经常净化将进入数据库的数据

SQL注入是PHP开发者面临的一个很大的威胁。大多数PHP开发者使用MySQL作为数据库。因此,首先你应该对“注入”有一个充分的认识。你可以使用PHP的mysql_real_escape_string函数来避免SQL注入,还可以在mysql_real_escape_string中使用htmlspecialchars来转义HTML字符,这样不仅可以保护数据库,还可以保护站点免遭XSS攻击。

4.  始终开启错误报告(Error Reporting)

在项目开发阶段,要始终保持error_reporting是开启的,这样可以在运行时显示错误,帮助你快速确认错误发生的原因。

你可以在php.ini文件中通过下列设置来开启错误报告功能:

error_reporting(E_ALL);


也可以在脚本中通过PHP ini函数来开启:

ini_set(‘error_reporting’, E_ALL);


5.  不要过度注释你的代码

没有必要为每一行代码都添加上注释,只需注释代码中难以理解的部分即可,以便你以后查看时知道代码的作用。像MySQL数据库连接这样的代码就没必要注释了。

6.  使用三元运算符

尝试使用三元运算符来代替if/else语句。三元运算符可以使你的代码更简洁,更易于浏览。但要注意,一个语句中最多使用一个三元运算符。

使用三元运算符的语句:

$yourname= (empty($_POST['name'])) ? ‘default’ : $_POST['name']; 


类似的if/else语句:

if (empty($_POST['name'])) {
       $youraction = ‘default’; 
} else {
       $youraction = $_POST['name'];
}


7.  str_replace()比ereg_replace()和preg_replace()更好

str_replace()函数在替换字符串方面要比正则表达式更有效。事实上,str_replace()比ereg_replace()和preg_replace()的效率要高出60%。但是,如果你正在使用正则表达式的话,ereg_replace() 和preg_replace()会比str_replace()快很多。

8.  使用isset代替strlen

如果你要检查一个字符串的长度,请使用isset来代替strlen。通过使用isset,你的调用将快6至40倍。此外,使用isset时,即使变量不存在,你的调用也将有效。

9.  使用一个PHP框架

可供你选择的PHP框架有很多,像CakePHPZendSymfonyCodeIgniter等,这些框架集成了大部分常用的功能需求,可以帮助你提高开发的效率,节省开发时间。

10.  使用Memcached

如果你需要开发一个数据库驱动的网站,Memcached 可以有效提升网站的速度。Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。你可以在PHP.net站点找到有关memcached的详细教程。

英文原文:10 Smart Tips to Become a Better PHP Developer
3
3
评论 共 9 条 请登录后发表评论
9 楼 流水... 2012-11-19 09:24
jancy 写道
做了几年的PHP开发,看这篇文章看的甚是纠结。
不知道楼主如何得出“如果你正在使用正则表达式的话,ereg_replace() 和preg_replace()会比str_replace()快很多。 ”的结论。
应该没有人使用str_replace()来做正则替换的吧,没有可比性。

主要是在普通文本替换,而不需要正则的时候,建议使用str_replace来提高效率!
8 楼 jancy 2012-10-19 01:06
做了几年的PHP开发,看这篇文章看的甚是纠结。
不知道楼主如何得出“如果你正在使用正则表达式的话,ereg_replace() 和preg_replace()会比str_replace()快很多。 ”的结论。
应该没有人使用str_replace()来做正则替换的吧,没有可比性。
7 楼 dashuang 2012-10-18 15:48
   
6 楼 sunlong 2012-10-18 13:30
没文章发表了吧?800年前的文章了
5 楼 zhukewen_java 2012-10-18 08:59
三目运算符只能是使代码简洁,而不是更易于浏览,因于if/else才是更易于浏览的,因为它更符合人类的直接思维逻辑。
4 楼 iminto 2012-10-18 08:43
文章质量太差。
引用
4.  始终开启错误报告(Error Reporting)

这一条标题是对的,但是内容错的
引用
8.  使用isset代替strlen

更是典型的脚本小子的特点,追语法,而不注重算法和可读性。
引用
2.  一定要创建一个配置文件

这一条纯粹凑字数的。。。
3 楼 fyland 2012-10-17 16:58
第9条应该合理的选择框架,比如Zend Framework大而全,但太过臃肿,性能也很差!
2 楼 fyland 2012-10-17 16:56
第六条有误:
在PHP中三元式比if-else的效率要差,看文章http://www.laruence.com/2011/11/04/2258.html

不知道在最新的版本是否已进行了优化
1 楼 john813 2012-10-17 16:36
如果想学习PHP,你可能应该参考一下 http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/ 和 https://maurus.net/resources/programming-languages/php/

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

Global site tag (gtag.js) - Google Analytics