教你提高编程水平的十条PHP技巧
副标题[/!--empirenews.page--]
自1995年毫无知名度地诞生以来,PHP就一直快速地成长。自那以后,PHP已经成为Web应用中最流行的编程语言。许多流行的网站都是由PHP构建的,而且大多数的脚本和Web程序都是由这个流行语言编写的。 由于PHP的盛行,使网络开发者几乎不可能不懂一点的PHP知识。这个教程针对的是那些只是经历了PHP的初级阶段,并且准备卷起袖子,深入进去这个语言的人。下面列出的是PHP开发者应该学习并且在每次编程时使用的十条优秀的技术。这些经验能够加速开发者精通并且让代码更易被感知、更加整洁而且对代码执行来说更优化。 1.使用一个SQL注入攻击表(Use an SQL Injection Cheat Sheet)
![]()
SQL注入攻击是一种恶性的行为,SQL注入攻击是一个可以让黑客利用代码的弱点进入你的数据库的安全漏洞。虽然这篇文章不是Mysql相关的,但是很多PHP程序员都是用的Mysql数据库,所以如果你想写安全的代码的话学习如何避免(SQL注入)是很容易的。 Furruh Mavituna有一个很好的SQL injection cheat sheet,里面有一部分是关于PHP和Mysql编程的弱点的。如果你能避免这个cheat sheet指出的习惯,你的代码会变得更少的易于脚本攻击。 2.了解比较操作符之间的不同(Know the Difference Between Comparison Operators)
![]()
比较操作符是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; } 如果$x默认的是10,将它初始化为10就 可以了。没有必要再去麻烦的输入else部分。 $x = 10; if( this condition ) { $x = 5; } 在代码的空间节省上好像没有太大的不同,如果在你的程序中有许多else语句的话,这样会明显的不同。 4.省略掉括号((Drop those Brackets)
![]()
就像在写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())
![]()
从效率的角度来看,在替换字符串方面 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 (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |