十位顶级PHP开发工程师的开发原则
1. 在适宜的时分运用PHP – Rasmus Lerdorf
没有谁比PHP的创立者Rasmus Lerdorf清楚PHP用在什么当地是更合理的,他于1995年发布了PHP这门言语,从那时起,PHP就像燎原之火,烧遍了整个开拓阵营,改动了互联网的世界。可是,Rasmus并不是因而而创立PHP的。PHP是为调查决web开拓者的实践问题而降生的。
和很多开源项目一样,PHP变得盛行,盛行的念头并不克不及用正常的哲学来进行分析,甚至盛行得有些顾影自怜。它完全可以作为一个案例,一个处理各类Web问题的东西需求所惹起的案例,因而当PHP刚呈现的时分,这种东西需求悉数聚集到PHP的身上。
然则,你不克不及奢望PHP可以处理一切问题。Lerdorf是第一个供认PHP只是一种东西的人,而且PHP也有良多力所不克不及及的状况。
依据任务的分歧来选择适宜的东西。我跑了良多家公司,为了压服他们摆设和运用PHP,然则这并不料味着PHP对一切问题都合用。它只是可以一个处理大局部问题的front-end脚步言语。
作为一个web开拓者,测验用PHP处理一切问题是不科学的,还也会糜费你的工夫。当PHP玩不转的时分,不要犹疑,试用一下其他的言语吧。
2. 运用多表存储进步规划伸缩性 – Matt Mullenweg
没有人情愿质疑Matt Mullenweg在PHP方面的威望性,他开拓了这个星球上最盛行的blog系统,(依托一个强壮的社区力气支撑): WordPress. 创立Wordpress今后,Matt和他的团队启动了WordPress.com平台,一个基于WordPress MU的免费blog站点。目前,Wordpress.com曾经拥有大约400万用户, 这些用户天天供应超越 140,000篇的日记。 (要检查更多Wordpress.com的计算状况,请点击这里.)
假如有人晓得若何让网站的规划伸缩自若,这小我必然是Matt Mullenweg。2006年的时分 Matt对Wordpress的数据构造进行了前瞻性的改良,而且分析了为什么Wordpress MU对每个blog运用自力的MYSQL表格, 而不是把一切的blog数据都塞进一个宏大的表格。
我们测试过这个办法,然则发现假如要扩展它的伸缩性,价值太高。假如用一个全体的数据构造,在大流量面前,你将会晤临效劳器硬件的问题。在MU里面。用户们都被散布到自力的表格傍边,而且可以随便地组织起来。举个例子,WordPress.com把用户的数据涣散存储到4096个数据库中,这些数据库可以涣散大规划的数据拜访,完成流量和压力分流。
数据表的可迁徙性让代码(blog)可以运转得更快,而且让系统具有更强的伸缩性。依托强壮的缓存战略和灵敏的数据库运用战略, Matt向人们展现了时下最盛行的Facebook和Wordpress.com都可以在PHP下不变运转,而且处置惊人的拜访量。
3. 万万不要置信用户 – Dave Child
Dave Child是Added Bytes (previously ilovejackdaniels.com) 网站的中心人物,这个网站以他超卓的《cheat sheets for many programming languages》而出名。 Dave为良多英国的公司效劳,而且曾经在编程世界里树立起相当的威望。
Dave为PHP开拓者供应了良多深谋远虑的建议,并总结成了《writing secure code in PHP》:万万不要置信你的用户,他们甚至能够会损伤你。
有一条web开拓的根本准则,我反复几多遍都感觉不敷,那就是:万万不要置信你的用户,还要假定你网站中的每个数据单位都是从用户那边搜集来的歹意代码。良多时分,你必需用javascript在客户端查验表单提交过来的内容, 假如你习气了如斯,那么,这是一个好习气。假如平安性对你来说很主要,这就是最主要最需求进修的准则。
Dave当前正努力于为它的《Writing Secure PHP》系列书本整顿实例,书的最终他说:
最终,变得偏执一点吧。除非你以为你的站点永远不会遭到进击,不然就正视一切的问题,当问题真正发作的时分,你的状况会变得很糟。你需求把每个用户都算作会带来一场攻防站的黑客,想尽一切方法来维护站点的平安,还想好响应问题的处理方案。
4. 多运用PHP缓存 – Ben Balbo
Ben Balbo开拓了Site Point,一个为developers和designers供应指点的网站。他是墨尔本PHP开拓和开源俱乐部的成员, 因而他对PHP有必然的调查,还对PHP caching有必然的主意和经历。
假如你拥有一个拜访量很大,但更新并不频频的站点(比方blog,基于某种CMS),或许它需求进行一些革新,这些革新不会破费太多的工夫,然则对功能有凸起的奉献。 假如要为一个复杂/更新频率很快的站点树立缓存机制,进程能够会很迂回,然则益处也是不言而喻的。
PHP缓存技能有良多种,Ben为我们引荐了如下一些:
◆缓存函数的运转后果
◆设置过时工夫
◆缓存IE下载的文件
◆模板缓存技能
◆Cache_Lite
因为PHP作为动态言语的特征,缓存机制关于更新频率并不快的站点来说十分主要。
5. 运用IDE, Templates和Snippets加快PHP开拓 – Chad Kieffer
当Chad Kieffer从UI设计和数据库优化的任务中抽身出来的时分,他会在他的博客2 tablespoons上分享良多技能经历。因为Chad多方面的具体开展,他常常可以发现其他顺序员不克不及发现的问题,并构成相关经历,尤其是他开拓网站的办法。他参加了网站开拓的各个环节,因而他的建议关于进步网站开拓的大局观十分有效。
Chad以为运用Eclipse PDT(Eclipse’s PHP development package) 如许的IDE,还运用一些模板技能和开源项目可以有用地进步PHP的开拓速度。
紧凑的方案,长长的to do lists以及deadlines闪开发人员十分苦闷。但是有些功用,比方Eclipse Templates,可以有用削减编码的工夫和犯错的几率。
凡间来说,任何项目都可以主动化,主动化水平越高, 你完成项目标工夫就越短。花工夫来开拓运用频率很高的框架和模板,将会节流你今后更多工夫。还,运用像Eclipse and the PDT package如许的IDE,你会发现效率获得分明进步,IDE可以主动闭合,补全分号而且可以在当地debug。
6. 应用好PHP的过滤函数 – Joey Sochacki
或许Joey Sochacki并不像Matt Mullenweg那样有名 ,但他也是一个经历丰厚的开拓者,而且经过他的博客Devolio分享了良多技能经历
Joey发目前编写php代码的进程中有良多当地需求进行过滤,但却并没有太多的coder存眷php的内置过滤函数。
过滤数据是我们常常需求做的工作,然则良多功用丰厚的PHP内置过滤函数却不为人知。运用相似filter_* 的PHP内置函数,我们简直可以处置一切的过滤义务,包罗数据类型验证/URL/email和IP地址验证/非凡字符处置等等。
过滤是一件复杂的工作,然则我置信joey的发现会给你良多启示,让你看法到PHP强壮的过滤功用。
7. 运用PHP框架 – Josh Sharp
关于能否应该运用Zend, CakePHP, Code Igniter, 或许 其他PHP框架,不断存在着良多争议,然则在web开拓者的心中,他们有本人权衡的规范。
Josh Sharp本人创立了一家供应面包和黄油效劳的网站,因而他关于运用PHP框架来开拓网站有必然的经历。他以为运用一个PHP框架来进行项目开拓(use a PHP framework ),可以有用地节流工夫,而且削减犯错的几率。为什么?由于他感觉PHP真实是太好上手了。
PHP的易于运用有时分也出缺陷,由于并不严厉的语法,常常会招致良多错误代码的降生。但假如运用一个PHP框架,犯错的几率就会大大削减。
PHP框架可以让你的代码构造愈加标准,而且节流很多工夫。
8. 不要运用PHP框架 – Rasmus Lerdorf
与Josh的观念恰好相反,PHP的开山祖师Rasmus Lerdorf却以为最好不要运用PHP框架,为什么?由于不基于框架的PHP功能更好。Rasmus在Drupalcon 2008的演讲上,用“Hello World”的例子来比照了一些框架PHP和简略PHP之间的功能,后果显示框架PHP的功能要远远掉队。
9. 运用批处置 – Jack D. Herrington
Jack Herrington对PHP世界并不生疏, 而且为赫赫有名的IBM developerWorks奉献过超越30篇的专搞, 还出书过《PHP Hacks》的书,因而他是一个真正的专家。
Herrington引荐运用批处置和Cron来替代那些可以运转在后台的顺序脚步,Web用户并不肯意在线等候你的处置进程,所以有些工作更合适放到后台来处置。
固然,在某些状况下,这有点牛鼎烹鸡了,然则你可以清晰地看到,运用Cron, MySQL, PHP面向对象的办法以及Pear::DB这些便捷的东西来创立一个批处置东西并不是一件复杂的工作。
Jack以为运用cron, PHP和MySQL在后台处置一些义务,比起多历程的营业逻辑要划算得多。
两种办法我都测验过,我以为Cron十分契合”Keep It Simple, Stupid” (KISS) 的准则,它让后台处置变得简略。与多历程的营业逻辑比拟,它没有内存溢出的风险。你可以创立一个简略的批处置剧本,而且在cron中运转,这个剧本会准时反省能否有义务需求处置,处置完之后就会主动退出,因而你不必担忧能否有历程卡壳,或许堕入死轮回。
10. 实时启用错误申报 – David Cummings
David Cummings有一个专门供应CMS软件效劳的公司 ,而且取得过几回奖 ,他有十分丰厚的PHP开拓经历。David曾经写过《two PHP tips he wished he’d learned in the beginning》,个中一点就是:实时启用错误申报,这会节流很多的工夫。
我通知人们,最主要的工作就是最大水平地开启PHP的错误申报,为什么?由于PHP能够会埋没良多小问题:
◆变量没有预界说
◆在代码片段中援用了不成用的变量
◆运用了不决义的常量这些要素看起来并不是什么大事,除非你在运用面向对象的办法编写一些类库。凡间,封闭错误申报将能够使你支付更大的本钱来维护你的代码。
错误申报可以帮你随便地找到代码的问题地点,假如错误申报的品级够高,纤细的错误都能被立刻发现,协助你节流全体debug的工夫。
- 1网站运营过程中需要做好哪些SEO规划呢?
- 2如何进行网站优化
- 3确定网站的关键词的几个重要因素
- 4最重要的是选择一个适合自己能力和水平的学校
- 5外链操作的几种错误方法
- 6网站优化之域名篇—如何选择域名
- 7新手站长换友链需要注意的
- 8网站建设公司归纳“九大”行动窍门
- 9义乌进销存软件分享ERP系统的四大管理目标
- 10聚光集热能力的强弱是衡量热水器性能优劣标志
- 11怎么知道网站被降权?网站个性词成SEO睛雨表
- 12探讨搜索引擎是如何识别原创?
- 13中国SEO行业将细分成七大块市场
- 14PHP在共享内存中存储数据集
- 15怎样做百度知道
- 16办公室装修后相关材料的保养
- 17DIV+CSS实现京东商城分类适合所有版本
- 18国内域名注册相关问题集锦
- 19如何寻找适合自己的外贸ERP管理系统
- 20合肥最好的网络公司解密网络推广的技巧
- 21很多人习惯把西瓜切开后冷藏食用
- 22香港服务器和香港云服务器的区别
- 23桌面虚拟化是什么?
- 24义乌华睿管理软件ERP系统实施执行力下降原因
- 25什么是Seo策略
- 26义乌华睿软件告诉你-如何判断ERP的质量?
- 27学会查看并修正自己的网站
- 28义乌生产管理软件组件化ERP系统四大架构
- 29义乌华睿管理软件与企业发展
- 30流量,我要真实有效的