PHP的5种最佳实践

在WEB开发世界里,PHP是最流行的语言之一,从PHP里,你能够很容易的找到你所需的脚本,遗憾的是,很少人会去用“最佳做法”去写一个PHP程序。这里我们向大家介绍PHP的5种最佳实践,当然,每一种都是经过大师们证明而得出的。

1.在合适的时候使用PHP–RasmusLerdorf

没有谁比PHP的创建者RasmusLerdorf明白PHP用在什么地方是更合理的,他于1995年发布了PHP这门语言,从那时起,PHP就像燎原之火,烧遍了整个开发阵营,改变了互联网的世界。可是,Rasmus并不是因此而创建PHP的。PHP是为了解决WEB开发者的实际问题而诞生的。

和许多开源项目一样,PHP变得流行,流行的动机并不能用正常的哲学来进行解释,甚至流行得有些孤芳自赏。它完全可以作为一个案例,一个解决各种Web问题的工具需求所引起的案例,因此当PHP刚出现的时候,这种工具需求全部聚焦到PHP的身上。

但是,你不能奢望PHP可以解决所有问题。Lerdorf是第一个承认PHP只是一种工具的人,并且PHP也有很多力所不能及的情况。

根据工作的不同来选择合适的工具。我跑了很多家公司,为了说服他们部署和使用PHP,但是这并不意味着PHP对所有问题都适用。它只是可以一个解决大部分问题的front-end脚步语言。

作为一个web开发者,尝试用PHP解决所有问题是不科学的,同时也会浪费你的时间。当PHP玩不转的时候,不要犹豫,试用一下其他的语言吧。

2.使用多表存储提高规模伸缩性–MattMullenweg

没有人愿意质疑MattMullenweg在PHP方面的权威性,他开发了这个星球上最流行的blog系统,(依靠一个强大的社区力量支持):WordPress.创建Wordpress以后,Matt和他的团队启动了WordPress.com平台,一个基于WordPressMU的免费blog站点。现在,Wordpress.com已经拥有大约400万用户,这些用户每天提供超过140,000篇的日志。

如果有人知道如何让网站的规模伸缩自如,这个人一定是MattMullenweg。2006年的时候Matt对Wordpress的数据结构进行了前瞻性的改进,并且解释了为什么WordpressMU对每个blog使用独立的MYSQL表格,而不是把所有的blog数据都塞进一个巨大的表格。

我们测试过这个方法,但是发现如果要扩展它的伸缩性,代价太高。如果用一个整体的数据结构,在大流量面前,你将会面临服务器硬件的问题。在MU里面。用户们都被分布到独立的表格当中,并且可以轻易地组织起来。举个例子,WordPress.com把用户的数据分散存储到4096个数据库中,这些数据库可以分散大规模的数据访问,实现流量和压力分流。

数据表的可迁移性让代码(blog)可以运行得更快,并且让系统具备更强的伸缩性。依靠强大的缓存策略和灵活的数据库运用策略,Matt向人们展示了时下最流行的Facebook和Wordpress.com都可以在PHP下稳定运行,并且处理惊人的访问量。

3.千万不要相信用户–DaveChild

DaveChild是AddedBytes(previouslyilovejackdaniels.com)网站的核心人物,这个网站以他出色的《cheatsheetsformanyprogramminglanguages》而闻名。Dave为很多英国的公司服务,并且已经在编程世界里树立起相当的权威。

Dave为PHP开发者提供了很多深谋远虑的建议,并总结成了《writingsecurecodeinPHP》:千万不要相信你的用户,他们甚至可能会伤害你。

有一条web开发的基本原则,我重复多少遍都觉得不够,那就是:千万不要相信你的用户,同时要假设你网站中的每个数据单元都是从用户那里收集来的恶意代码。很多时候,你必须用JAVAscript在客户端检验表单提交过来的内容,如果你习惯了如此,那么,这是一个好习惯。如果安全性对你来说很重要,这就是最重要最需要学习的原则。

Dave目前正致力于为它的《WritingSecurePHP》系列书籍整理实例,书的最后他说:

最后,变得偏执一点吧。除非你认为你的站点永远不会受到攻击,否则就正视所有的问题,当问题真正发生的时候,你的情况会变得很糟。你需要把每个用户都看成会带来一场攻防站的黑客,想尽一切办法来保护站点的安全,同时想好相应问题的解决方案。

4.多使用PHP缓存–BenBalbo

BenBalbo开发了SitePoint,一个为developers和designers提供指导的网站。他是墨尔本PHP开发和开源俱乐部的成员,因此他对PHP有一定的了解,同时对PHPcaching有一定的想法和经验。

如果你拥有一个访问量很大,但更新并不频繁的站点(比如blog,基于某种CMS),或许它需要进行一些改造,这些改造不会花费太多的时间,但是对性能有突出的贡献。如果要为一个复杂/更新频率很快的站点建立缓存机制,过程可能会很曲折,但是好处也是显而易见的。

PHP缓存技术有很多种,Ben为我们推荐了如下一些:

缓存函数的运行结果

设置过期时间

缓存IE下载的文件

模板缓存技术

Cache_Lite

由于PHP作为动态语言的特性,缓存机制对于更新频率并不快的站点来说非常重要。

5.使用IDE,Templates和Snippets加速PHP开发–ChadKieffer

当ChadKieffer从UI设计和数据库优化的工作中抽身出来的时候,他会在他的博客2tablespoons上分享很多技术经验。由于Chad多方面的全面发展,他经常可以发现其他程序员不能发现的问题,并形成相关经验,尤其是他开发网站的方法。他参与了网站开发的各个环节,因此他的建议对于提高网站开发的大局观非常有用。

Chad认为使用EclipsePDT(Eclipse’sPHPdevelopmentpackage)这样的IDE,同时使用一些模板技术和开源项目可以有效地提高PHP的开发速度。

紧凑的计划,长长的todolists以及deadlines让开发人员非常苦闷。不过有些功能,比如EclipseTemplates,可以有效减少编码的时间和出错的几率。

通常来说,任何项目都可以自动化,自动化程度越高,你完成项目的时间就越短。花时间来开发使用频率很高的框架和模板,将会节省你以后更多时间。同时,使用像EclipseandthePDTpackage这样的IDE,你会发现效率得到明显提高,IDE可以自动闭合,补全分号并且可以在本地debug。

如果你已经决定要学好PHP,找一家靠谱的培训机构,将会让你的学习过程事半功倍。

“年度最受信赖职业教育品牌”千锋教育,一直秉承“用良心做教育”的理念,同期在校学员5000余人,合作院校超500所,合作企业超10000家。全国有十三个校区。数十位总监级专家讲师全职授课,200余位业内强师全程面授。

“中国教育集团领先品牌”千锋教育,关注学员和企业的双向需求,每年为企业输出20000+计算机精英,毕业学员占据全国移动互联网培训人才一半以上的份额。毕业学员平均薪资也是全行业最高。

“年度最具影响力IT教育机构”千锋教育PHP课程的教学老师,全部来自央企及上市公司,平均从业经验5年以上。而且千锋教育的老师实行淘汰制,学生进行匿名投票。留下来的都是经过学生投票检验过的名师;

千锋教育的PHP课程采用实战教学和分阶教学模式。课程内容紧贴名企需求,以实战传授理论,不谈虚的,只教真的。千锋教育力求将学员打造成具备完美职场竞争力的精英。千锋教育也是学员项目敢上线的唯一机构。

千锋教育PHP培训班毕业学员,其平均年薪相比行业平均年薪,足足高出五万。

学PHP,首选千锋教育。千锋教育力造IT培训领导品牌,学员百分之九十以上都是大专以上学生,力求为你营造最优质的学习环境。

千锋教育现更有0学费入学、2周免费试听、跨学科周末班限时免费送活动,一次报名,学习双技能,如同打了五折。欢迎你前来咨询,试听。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容