PHP开发的经验总结_第1页
PHP开发的经验总结_第2页
PHP开发的经验总结_第3页
PHP开发的经验总结_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PHP开发的经验总结PHP开发的经验总结1. 首要意识:安全大多数时候,我们开发的Web程序都是需要跟数据库打交道的, 所以这里几乎可以说SQL注入是一个怎么也无法避免要拿出来讨论 一下的问题。而且近年来像XSS和CSRF攻击也变得大行其道,使得 黑客们貌似又有了一把把利器,而我们总是处于被动的状态。不 过我们要记得是下面这两个原则:1. 永远不要相信用户输入的东西。(老话了,但这是真的)2. 将自己需要输出的数据进行转义。简单来说就是:filterinput, escapeoutput如果你是新手,不要再使用类似以下的查询语句了:SELECTFROMusersWEREusername=$_P

2、OST,username? jANDpasswo rd=$_P0ST password;还有就是,使用PDO或Mysqli吧,不要再使用老式的mysql操 作了。而对于,CSRF的解决方案,目前接触的都是给每一次的表单提 交都设置一个token值,然后在表单提交的时候校验之即可。2. 明确地知道各个比较操作符的差别PHP的比较操作符,这其实可以说是一个很小的注意点,但是在 某些时候真的很重要。比如说很多时候我们得考虑清楚,该用=还 是=二,如果你使用过strposO这个函数,下而的代码可能会给你 一个直观的感受:上而这段代码的运行结果其实是输出Chrisisnotanauthor,但 是现实情

3、况是,Chris&Sean真的是Author啊,怎么回这样呢?其实 是这样的:Chris正好出现在Chris&Sean首位开始处,也就是0这 个位置,所以substr()返回了,由于条件判断语句中bool判断, 所以0作为了 false处理,于是程序输出了 Chrisisnotanauthor, 但是在这种情况之下我们该怎么处理呢?我们其实可以这样的:这里的!=和!二的不同就体现出来了。3. 可以减少使用else就少使用else这个貌似从我一开始接触编程就有的一个想法,因为每次看到 辻()else就有一种这一段其实可以写得更好的感觉,因为一旦 你减少了使用else关键字,你得代码会减少两行!没

4、错,两行也是 我们的追求,而且,从我的经验看,else少的代码貌似可读性更高, 对我来说。if (thiscondition)($x=5;else$x=10;如果,在靱的默认值是10,还是下面这样写感觉比较好:$x=10;if (thiscondition)$x=5;4. 去掉不必要的括号这里的目的其实跟else关键字部分是一样的,我们是为了更简 短的代码和更优越的可读性,对以下的情况,你都应该考虑优化代 码:if($gollum=,halfling)Sheight;其实是可以这样的:if($gollum=,halfling)$height-;你甚至可以这样:PHP开发的 9条经验总结是不是有

5、一种又短又清晰的感觉?5. 多用 str_replace ()在很多时候我们需要对一些字符串进行替换,在PHP中有以下几 个函数可以达到这个目的:str_replace ()ereg_replace()preg_replace ()如果你确实是需要使用正则匹配,那就使用preg_replace(), 而如果在可实现替换的情况下,请使用str_replace(),因为据不 完全统计,str_replace()的效率在这三个当中是最高的。6. 使用三元运算符这个可能很多人都有这个感受,使用三元运算符之后,我们可以 去掉一堆ifelse语句了,代码又短又爽。$host=strlen($host)0?$host:htmlentities($host);7. 使用缓存目前PHP热门的缓存技术可能就是Redis和Memcached 了,在 PHP的官方文档中,也有Memcached的使用教程,至于Redis,我最 近在研究中,后续会给出一些教程,如果一切顺利的话。&使用框架框架的好处很多,可能是在性能方面有所损失外,貌似找不到不 用框架的理由了,框架即可以加快你的开发速度,也可以让你在写 代码的过程中橹的舒舒服服,而且想很多安全问题,你都会得到很 好的解决。我这里首推Laravel,不过像Yii2SlimSymfony都是非 常棒的框架,除了 Symfony

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论