http://news.csdn.net/n/20081231/122100.html
自1995年毫无知名度地诞生以来,PHP就一直快速地成长。子那以后,PHP已经成为Web应用中最流行的编程语言。许多流行的网站都是由PHP构建的,而且大多数的脚本和Web程序都是由这个流行语言编写的。
由于PHP的盛行,使网络开发者几乎不可能不懂一点的PHP知识。这个教程针对的是那些只是经历了PHP的初级阶段,并且准备卷起袖子,深入进去这
个语言的人。下面列出的是PHP开发者应该学习并且在每次编程时使用的十条优秀的技术。这些经验能够加速开发者精通并且让代码更易被感知、更加整洁而且对
代码执行来说更优化。
1.使用一个SQL注入攻击表(Use an SQL Injection Cheat Sheet)
图片11 一栏常用的SQL注入
SQL注入攻击是一种恶性的行为,SQL注入攻击是一个可以让黑客利用代码的弱点进入你的数据库的安全漏洞。虽然这篇文章不是Mysql相关的,但是很多PHP程序员都是用的Mysql数据库,所以如果你想写安全的代码的话学习如何避免(SQL注入)是很容易的。
Furruh Mavituna有一个很好的SQL injection cheat sheet,里面有一部分是关于PHP和Mysql编程的弱点的。如果你能避免这个cheat sheet指出的习惯,你的代码会变得更少的易于脚本攻击。
2.了解比较操作符之间的不同(Know the Difference Between Comparison Operators)
图片22 PHP的一栏比较操作符
比较操作符是PHP中巨大的一部分,而且很多程序员不能像他们应该的那样在它们之间的区别方面那么熟练。实际上,一篇在I/O reader的文章表明,很多PHP程序员不能正确的说出比较操作符之间的区别。
要明白,==代表着同等,===代表着一致。你可以看一篇在PHP.net网站上的list of the comparison operators 这篇文章。
3 .else语句简短话(Shortcut the else)
需要注意的是本文的第3条和第4条都有点让代码的可读性降低,这两条强调的是速度和执行。如果你选择不牺牲可读性,那么你可以略过这两条。
任何可以让代码更简单更小的事情通常都是一个好习惯。这条的目的是将“中间人”从else语句中拿出来,Christian Montoya有一个非常好的用短的else语句来减少字符的例子。
一般的else语句
if( this condition )
{
$x = 5;
}
else
{
$x = 10;
}
[/code]
如果$x默认的是10,将它初始化为10就 可以了。没有必要再去麻烦的输入else部分。
$x = 10;
if( this condition )
{
$x = 5;
}
[/code]
在代码的空间节省上好像没有太大的不同,如果在你的程序中有许多else语句的话,这样会明显的不同。
4.省略掉括号((Drop those Brackets)
图片33 去掉括号,为代码节省时间和空间
就像在写else语句时那样,你也可以在通过省略掉在紧跟在一个控制语句中的的表达式中的括号来节省来节省一些字符。Evolt.org有一个简单的例子列出了一个省略括号的结构
if ($gollum == 'halfling') {
$height --;
}
这个和下面的一样:
if ($gollum == 'halfling') $height --;
甚至你可以用在复杂的情况
if ($gollum == 'halfling') $height --;
else $height ++;
if ($frodo != 'dead')
echo 'Gosh darnit, roll again Sauron';
foreach ($kill as $count)
echo 'Legolas strikes again, that makes' . $count . 'for me!';
5. 选择str_replace而不是ereg_replace和preg_replace(Favour str_replace() over ereg_replace() and preg_replace())
图片44 速度测试显示str_replace()快61%
从效率的角度来看,在替换字符串方面 str_replace()比正则表达式更高效。实际上,根据Making the Web所说,str_replace()比像ereg_replace()和 preg_replace()这样的正则表达式效率要高61%。
如果你正在使用正则表达式的话,ereg_replace() 和preg_replace()会比str_replace()快很多。
6.使用三元操作符(Use Ternary Operators)
考虑使用三元操作符来代替完全使用 if/else语句。PHP Value给了一个非常好的例子来说明三元操作符是什么
//PHP COde Example usage for: Ternary Operator
$todo = (empty($_POST[’todo’])) ? ‘default’ : $_POST[’todo’];
// The above is identical to this if/else statement
if (empty($_POST[’todo’])) {
$action = ‘default’;
} else {
$action = $_POST[’todo’];
}
?>
三元操作符节省了你的行空间,而且让你的代码不是那么混乱,方便浏览。注意不要在一个表达式语句中使用多于一个三元操作符,因为PHP并不是永远都知道在这种情况下应该怎么做。
7. memcached
图片55 Memcached是结合PHP使用的非常棒的一个数据库缓存系统
虽然有很多缓存方案可供选择,Memcached做为最高效的数据库缓存名列前茅。它不是执行起来最简单的缓存系统,但是如果你用php搭建一个网
站使用数据库的话,Memcached肯定能够加速你的网站。Memcached这个缓存系统第一次是为了LiveJournal这个blog网站而搭建
的。
PHP.net有一个优秀的教程来介绍如何在你的项目中安装和使用memcached。
8.使用一个框架(Use a Framework)
图片66 CakePHP是顶尖的PHP框架之一
你可能不能在你的每个项目中使用PHP框架,但是像 CakePHP, Zend, Symfony and
CodeIgniter这些框架可以大大的减少你构建一个网站的时间。框架是一个通过包装常用的机制来提高发展速度的软件。框架可以用来帮助减少开发网络
应用程序和网络服务的开销。
如果在编写一个网站的时候你可以通过框架来打理反复的工作,你会更高速度的进行开发。写越少的代码,就会更少的进行调试和除错。
9.正确的使用抑制错误操作符(Use the Suppression Operator Correctly)
错误抑制操作符(或者在PHP手册中叫做错误控制符)是@这个符号,当在PHP中放在一个语句前面的时候,它只是简单的告诉程序不要(原文中此处为
now,估计为原作者笔误)显示这条语句产生的任何错误。如果你对这个值不确定或者不想抛出任何错误的话,这个操作符非常有用。
然而,很多程序员错误的使用错误抑制操作符。如果写代码时你把运行效率谨记在心的话,这个@操作符非常的慢而且运行代价很高。
Michel Fortin有一些例子来说明如何用其他方法来回避@这个错误抑制操作符。这是一个他使用isset这个函数 来替代错误印制操作符的方法。
if (isset($albus)) $albert = $albus;
else $albert = NULL;
等同于:
$albert = @$albus;
但是虽然第二种方法比较有条理的,但是运行速度要慢两倍左右。一个好的解决方法是通过引用来分配变量,这样不会触发任何警告,例如:
$albert = &$albus;
需要特别指出的是,这些改变可能会产生一些意外的副作用,应该用到对效率要求比较高的那些不会受到影响的地方。
10.使用isset代替strlen(Use isset instead of strlen)
图片77 使用isset你的调用会快五倍
如果你正在准备检查一个字符串的长度,用isset来代替strlen。通过使用isset,你的调用会快五倍。需要指出的是,通过使用isset,如果变量不存在的话,你的调用也会有效。
这只是一个小变化,但是像今天所讲到的这些技巧,加起来就会帮你成就快速,干净的代码。
分享到:
相关推荐
提高编程水平的十条PHP技巧.pdf 浅谈PHP语言在网站后台建设中的优势.pdf 计算机知识PHP教程第一期.pdf PHP连接MYSQL.pdf PHP 程序设计简明教程.pdf php简明教程-PHP程序设计简明教程-PHP教程.pdf PHP案例会员管理...
本文总结了十条EXCEL使用技巧,旨在提高用户的工作效率和操作便捷性。这些技巧涵盖了EXCEL的多个方面,包括快速选取特定区域、快速返回选中区域、快速定位到单元格、使用Ctrl+*键选定整个表格、快速选取工作表中所有...
以下就是Excel容易被忽略的十条实用技巧,适用于会计实务操作: 1. "End+方向键"快速定位:这是一个非常高效的导航技巧。在任意单元格上按下End键,接着按下方向键,可以立即跳转到行首、行尾、列首或列尾。如果行...
提高工作效率是现代职场中至关重要的能力,这关系到个人的职业发展和生活质量。以下是一些能够帮助你提升工作效率的实用习惯: 1. **定义每日要事(MIT)**:明确每天最重要的3-5件事,优先处理这些任务,确保关键...
以下是对标题和描述中提到的Excel十条实用技巧的详细解释: 1. **快速定位**:使用`End`键结合方向键可以迅速定位到工作表的边缘或空白单元格。例如,按`End`后再按`↑`键,光标会移动到列顶,按`↓`键则移动到底部...
以下就是关于CSS样式表设计的十条实用技巧,旨在提高你的CSS编写效率和网页设计质量。 1. **选择器优化**:尽可能使用类选择器(.class)和ID选择器 (#id),而非标签选择器(element)。标签选择器的权重较低,使用...
【税会实务】十条Excel使用技巧涵盖了在会计工作中提高效率的关键技能,这些技巧对于处理大量数据和日常会计任务尤其有用。下面将详细解释这些技巧: 1. **快速选取特定区域**:通过按下F5键,然后在“定位”窗口中...
### SQL使用技巧十条建议 #### 一、使用索引提升查询速度 **索引**是数据库中一种重要的数据结构,其主要目的是为了加速查询过程。当数据库接收到一个查询请求时,它会根据索引来定位数据,从而避免了全表扫描,...
在Excel的日常使用中,掌握一些实用技巧能够显著提高工作效率,尤其对于从事财税实务工作的人员而言,Excel更是不可或缺的工具。以下就是十个容易被忽略但非常实用的Excel技巧: 1. **End+方向键快速定位**:在...
以下就是十条Photoshop的经验技巧,旨在帮助初学者快速提升技能。 1. **快速选择工具的妙用**:Photoshop中的快速选择工具可以自动识别图像中的对象边界,只需轻轻一拖就能快速选中目标。配合“调整边缘”选项,能...
程序员编程十条戒律是一套针对软件开发过程中的一系列最佳实践指导原则,旨在帮助程序员编写出更加优质、可维护的代码,同时提高开发效率。接下来,我会详细解释这些戒律所包含的知识点。 1. DRY原则(Don't Repeat...
掌握JavaScript的高级技巧对于提升编程效率、优化代码结构以及改善用户体验都有着不可或缺的作用。下面将详细解析所提供的内容,梳理出其中涵盖的知识点。 首先,涉及到非数值类型转换为数值类型的操作,JavaScript...
### 提升Python编程效率...综上所述,通过遵循这十条建议,开发者不仅可以提高Python编程效率,还能在职业发展道路上取得更大的成就。无论是初学者还是经验丰富的开发者,这些技巧都将为他们的编程之旅带来积极的影响。
"十条实用的Word办公软件应用技巧精选" 本文总结了十条实用的Word办公软件应用技巧,涵盖了Word文档的编辑、保护、格式设置、水印添加、页面设置、拼音插入、超链接取消、默认文件夹设置、汉字偏旁部首输入和纸张...
以下是一些关于Excel的实用技巧,这些技巧对于会计工作尤其有帮助: 1. **快速选取特定区域**:按F5键打开“定位”窗口,输入需要选取的区域如A2:A1000,能迅速定位并选取指定范围。 2. **快速返回选中区域**:在...
十条实用的Word办公软件应用技巧.doc
通过与同事交流互动,可以更好地了解项目进展和其他成员的需求,从而提高工作效率。 #### 十、批评代码而非个人 在进行代码审查时,重点应该是指出代码中存在的问题,而不是针对编写者的个人攻击。通过建设性的...
热爱编程的开发者更容易在业余时间探索新技术、参与开源项目等,这些经历不仅能够提高技能水平,还能够增强解决问题的能力。同时,保持良好的工作与生活平衡也是非常重要的,这有助于保持长期的工作热情和个人成长。...