|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
没有人会喜欢和见异思迁的人交朋友,因为这种人太不安分,太不可靠,因此,你必须要强迫自己完成自己的目标,哪怕可能会很难受,也得坚持,毅力就是这么锻炼出来的。 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的工夫。
<P style="TEXT-INDENT: 2em">
你的留言本应该加入注册以及分页功能了,而如果你更强的话,UI(用户界面)也可以加强,完成之后,感觉是不是特有成就感?不管怎么样,咱好歹是写了一个动态网站程序了,放在自己的网站上耍耍吧。 |
|