首页 > 语言 > 关键词 > php最新资讯 > 正文

精通PHP的十大要点

2009-02-24 14:21 · 稿源:www.achome.cn

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(previouslyilovejackdaniels.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。

Related posts:

wordpress成功升级到2.3.2虽然tag对我来说没什么用,但是着眼于安全性,我还是升级了,从两年前的2.0.5升级到现在的2.3.2,着实需要一份勇气和决心,幸好在本地跑升级的时候没有出现任何问题,只是模板上的功能需要一些简单的修改。 线上的升级一切顺利,很多人会纳闷,你刚才不是还发post求助升级办法么?嗯,我已经找到了最好的工具,WordPress Automatic Upgrade plugin 这款wordpress的自动升级插件真正让你升级无忧,因为它会在升级之前为你备份所有的文件和数据,用起来也是“一路next”型,相信很适合那些不想为升级烦心的blogger们,不过有个问题,升级以后的export功能出现问题,提示找不到wp-config.php,不知道是普遍有此问题还是我blog的问题,遇到同样问题的朋友请给我留言,我来研究一下解决办法。(经过研究发现,原来是coolcode插件中访问路径的问题,只要取消此插件的激活,Export功能就可以正常使用了) ...

谁有从Wordpress2.0升级的经历今天下载了wordpress-2.3.2,本来想升级,但是发现版本跨越不小,数据结构变化貌似不小,升级比较麻烦,风险太大,所以暂时放弃,哪位朋友有从wordpress2.0升到2.3的经验,分享一下吧,感激不尽。 ...
翻译:《14个绝佳的站长工具》(下)原文:http://www.conversion-rate-experts.com/articles/understanding-your- visitors/ 此文是由Andrew(http://www.achome.cn)自主翻译的,如需转载请注明出处。用户是最好的宣传和销售人员,来听听他们是如何宣传的吧,Tell-a-Friend King—立即体验! 你是否拥有一个用户推荐的系统?一个可以让用户发信邀请朋友的系统。我们可以看到, 这些用户发的信里面包含“为什么用户在您的网站上消费”这个问题的答案。

很多人花费大量的时间来进行自我定位和制定吸引人的广告词,但通过用户的推荐信,你就可以找到用户为什么青睐你的原因。 轻松收集用户反馈, Kampyle—立即体验! Kampyle可以让用户在你的网站上提交用户反馈(通过页面底部的一个小button),点击以后会弹出一个窗口让用户填写他们的意见和建议。站长们可以登录Kampyle的官网去查看和管理收集到的用户反馈,如果用户留下了email地址,站长们还可以轻易地通知用户,他们已经收到反馈并将进行相应的改进。...
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框架可以让你的代码结构更加规范,并且节省大量时间,你可以阅读《benefit of using a PHP framework》来获得更多相关信息。

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的时间。

  • 相关推荐
  • 大家在看
  • 用php源码搭建二维码加密支付平台

    今天给大家介绍的项目-"用php源码搭建二维码加密支付平台",可以说,有一定的技术门槛,有一定的壁垒,因为需要搭建网站并且运营。正是因为有一定的门槛,需要学习和准备一些东西,才能挡住大多数用户的进入,才能长久的赚取利润。这些技术门槛,和需要准备的一些东西,我今天会详细的,手把手的教大家,如果你肯学习,并且有一定的网络基础,我相信可以很快突破难点,搭建成功。一旦搭建成功,运用一些推广的手段,后期

  • 抖音十大粉丝排行榜及商业分析

    网红鼻祖papi酱, 2015 年就开始拍摄短视频,在《男士生存法则》中凭借犀利的内容、变声器下的搞怪声音迅速走红,最先在微博爆火。

  • 净水器十大品牌有哪些?健康饮水的净水器

    净水器的功能就是过滤水中的漂浮物,重金属、细菌、病毒等都去除掉,让我们喝的更放心。但是,每当新手面对市场上那满目琳琅的净水器品牌的时候想必一定会退缩了吧。那么,现在有哪些牌子的净水器好呢?下面是由国际净水协会评选的十大净水器品牌:净水器十大品牌:冰尊净水器德国冰尊净水器是世界公认的净水器十大品牌,精湛的世界级先进净水技术、德国工匠级的生产工艺,百年净水器品牌,把每一台净水器都当做艺术品制造,是世界

  • 净水器十大品牌有哪些?过滤效果不错的净水器

    为了更好地控制水污染,中华人民共和国环境保护部近日制定发布了《工业集聚区水污染防治规划》。一些不符合“十大净水品”要求的企业将相继停产,导致大部分小型净水器停产或改造,采用冰尊净水器等十大净水品牌。环保节能生产线、安全无污染生产工艺在净水器行业遥遥领先 净水器十大品牌:冰尊BENSHION净水器 德国冰尊创立于1828年至今200年历史,是净水器行业领导品牌之一,最早的一批净水器开创者。 据世界卫生组织(WHO)统计,

  • 集成灶十大排名,哪个品牌集成灶更值得大家购买?

    为了更好地解决厨房油烟问题,集成灶问世了。集成灶在国内已经有十几年的发展历程了,如今市面上的集成灶品牌众多,为了方便选购,出现了集成灶十大品牌排名,那么十大品牌中哪个品牌更值得大家购买呢?森歌集成灶具备众多优点,是一款性能齐全、性价比很高的集成灶品牌,今天就来给大家分享一下这个品牌集成灶吧。油烟吸净率高一般传统的油烟机,油烟吸净率最高只能达到80%左右,剩下的部分都扩散到了空气中,大部分被人体所吸收,

  • 净水器十大品牌有哪些?智能提示功能的净水器

    冰尊净水器是第一大品牌!国际十大净水器颁奖典礼于 2020 年 5 月 31 在荷兰阿姆斯特丹举行。世界卫生组织、世界净水器质量认证协会、NSF认证协会、德国净水器质量监督协会等世界权威净水器认证机构担任专业评委。经过科学比较、严格检测和筛选,评选出净水器十大品牌排名: 净水器十大品牌:冰尊(BENSHION)净水器 2020 年,冰尊净水器、冰尊果蔬净水器、冰尊空气净化器被央视推荐上榜。我们应该相信品牌的力量! 冰尊净水器的优?

  • 天猫618十大淘宝直播间品牌直播占60% 华为、格力跻身前十

    6 月 10 日数据显示,苏宁、海尔、荣耀等品牌淘宝直播间成交纷纷突破 1 亿,成为继6月5日华为销售额破亿之后3C家电行业破亿的品牌直播间。截至目前,天猫 618 淘宝直播Top10 直播间中,品牌直播占比60%,其中华为,苏宁,海尔,荣耀、格力等3C家电品牌扎堆跻身前十。

  • 集成灶十大排行榜,森歌榜上有名

    伴随着人民生活水平的不断提高,大家越来越注重身体健康,而这次的新冠肺炎,也再一次敲响了健康的警钟,重视健康,提高自身免疫力,成为了全民话题。厨房是家中油烟重地,长期烹饪,难逃油烟侵害,埋下健康隐患,高质量的烹饪关键是守护家庭健康的第一步。厨房吸油烟产品从油烟机发展到集成灶,油烟除净率大大提高了,但是集成灶品牌良莠不齐,大部分品牌依然还是属于建设阶段,作为消费者来说,在选购集成灶时,选择集成灶十大排

  • 净水器十大品牌有哪些?全新一代的净水器

    在科技高速发展的今天,工业发展迅速,污水横行,垃圾遍地。废水污水的严重排放使与我们的水资源受到了威胁,清澈的小溪不见了,美丽河流也变成了臭水沟。在这样的环境下生活,我们的健康要拿什么来保证?所以净水器由此诞生,家用净水器哪个牌子好?十大品牌有哪些呢?下面是由国际净水协会评选的十大品牌:净水器十大品牌排名:冰尊净水器 冰尊(BENSHION)于 2020 年建立了产品研发升级计划,未来几年将会研发第六代净水技术,?

  • 集成灶十大排名出炉,首选火星人绝不会出错!

    春节期间意料之外的一场疫情大大增加了人们居家做饭的机会,在全民厨艺大涨的同时,厨房安全也成为了一个值得关注的问题。除了疫情期间频繁发生的厨房火灾之外,油烟也是影响全家人健康安全的一大隐患。高温油烟产生的有毒烟雾能够损伤呼吸系统,从而诱发肺癌。此外,高温下的油烟也会使甘油生成气味辛辣的丙烯醛,对眼鼻黏膜产生强烈刺激。面对这些健康隐患,家中抽油烟机却功效不足怎么办?今天就来向大家推荐稳居集成灶十大排名?

  • 百亿融资额开放!十大新股齐发 富途10倍杠杆再助力港股打新

    6月可谓港股打新最热的一个月份,上周康基医疗在富途暗盘中收涨85.52%,成交额达1.38亿港元,跻身富途暗盘成交额有史以来第三位。而在上市首日更是高开86.6%,报25.9港元,打中一手卖出可赚超6000港元,中签的小伙伴可以说是赚到手软啦!康基医疗上市首日表现,来源:富途牛牛打新的惊喜还在持续中,本周港交所预计还将迎来多只重磅新股,包括全球最大电子雾化设备制造商思摩尔,热门的生物医药股:欧康维视、永泰生物,跻身“翻倍”物管板块的正

  • 全球十大IC设计厂营收排名:高通重回第一 NV第三 AMD第五

    一般来说,芯片由集成电路经过设计、制造、封装等一系列操作后形成。芯片制造的过程就如同用乐高盖房子一样,现有设计图纸,再有晶圆作为地基,经过层层往上叠的芯片制造流程后,最后生产出 IC芯

  • 天猫:618十大淘宝直播间商家直播占比60%

    【TechWeb】6月12日消息,根据天猫公布的6月10日数据显示,海尔、荣耀、苏宁等品牌淘宝直播间成交纷纷突破1亿,成为继华为之后3C家电行业破亿的品牌直播间。截至目前,天猫618淘宝直播Top10直播间中,品牌自播占比60%,其中华为,苏宁,海尔,荣耀、格力等3C家电品牌扎堆跻身前10。数据显示,大促首周大家电、电脑、手机等行业商家开播率翻了2倍。与此同时,冰箱、洗衣机、电视、热水器等细分品类表现亮眼,直播成交率同比大盘均?

  • 2020年中国十大云计算商最新排名

    云计算在中国经过数年发展后,技术和市场都越发成熟。随着性能和稳定的提高,成本的降低,个人和企业用户都开始逐步接受云服务,但无论在全球范围还是中国范围内,云计算市场还只是起步阶段。就拿中国云市场来看,表面看似巨头已经瓜分天下,但实际上,出色的新秀在不断涌现,利用自己的特色优势在细分市场中分一杯羹。笔者根据企业实力,产品性能、性价比、服务评价等方面选出了市场认可度高的中国十大公有云计算服务商:2020 年?

  • 除甲醛空气净化器十大排名助力健康呼吸

    随着甲醛中毒事件的频繁爆发,我们都知道刚装修好的房子是没法住的,一般情况下,至少也需要几个月的通风晾晒。但事实往往更令人沮丧,即便是装修好几年的房子,甲醛超标率依然高居不下。而甲醛超标对我们身体健康造成的伤害人尽皆知,为了避免这些伤害,大多数人都会采取空气净化器来进行治理,那么空气净化器哪个牌子好呢?我们来看看除甲醛空气净化器十大品牌名。除甲醛空气净化器十大排名助力健康呼吸:德国精工·诺森柏格德国精

  • 6月朋友圈十大谣言:新冠病毒-20℃存活20年?

    2020年上半年的最后一个月行将结束,夏天如约而至的同时,各种新旧谣言也纷至沓来,大部分都是紧跟新冠疫情在编故事。今天,微信官方总结了6月份朋友圈内流传最广的十大谣言,其中七个都和新冠

  • 大连执象科技荣获“全国软件行业十大影响力企业”称号

    2020 年 4 月,大连执象科技有限公司获得了由北京审信核信企业信用评估中心颁发的“全国软件行业十大影响力企业”荣誉证书以及5A级“全国软件行业重点推荐企业”荣誉证书。除此之外,大连执象科技之前还先后获得过“3. 15 辽宁省重质守信维权信誉单位”、“守合同重信用一级资质企业”、“中国招投标诚信企业”等诚实守信类相关称号。大连执象科技有限公司创建于 2017 年,是在高新技术应用领域中专业从事应用系统开发、IT软件技术

  • 十大品牌排行榜 口碑优秀的扫地机器人哪个牌子好?

    近些年来,扫地机器人已经在智能家电领域成功“出道”并且收获一大批粉丝。随着智能技术发展,扫地机器人受欢迎程度越来越高。现代款扫地机器人作为智能清洁产品,不仅功能齐全做到真正分担家务,还能让使用者彻底解放双手。只不过需要注意的是挑选扫地机器人的时候要看准品牌,要了解产品核心实力,这样选出来的产品才不会让人失望。为了让大家省心选到优质产品,今天特意找来十款清洁界的“扛把子”产品供大家选择。NO.1 斐纳TOM

  • 甲醛超标日愈严重,除甲醛空气净化器十大排名

    众所周知,优质的空气净化器不仅可以带来良好的呼吸环境,还能够保障我们的呼吸健康。所以,面对日愈严重的甲醛超标,能够持续降低甲醛浓度的空气净化器就成为了家家户户的必需品。不过,市面上的空气净化器产品千千万万,到底哪个牌子的产品除甲醛效果好呢?接下来我们就来看一下除甲醛空气净化器十大排名。甲醛超标日愈严重,除甲醛空气净化器十大排名:诺森柏格德国精工·诺森柏格德国精工·诺森柏格始创于1991年,不仅仅是我国空气净化器

  • 微信公布朋友圈六月十大谣言 包括“发往北京的快递停运”等

    6月30日消息,网络的快速发展加上社交平台的便利,使得信息传播速度日期加快。不过,便捷的网络和平台也成为一些谣言高发地,尤其是我们在刷朋友圈的过程中,经常会看到各种各样危言耸听的消息。日前,微信官方对外公布了六月朋友圈十大谣言,包括进口海鲜传播新冠、发往北京的快递停运等。日前,有消息称:“进口的海鲜感染新冠病毒,然后在农贸市场里传播给了人群”。对此,国家食品安全风险评估中心微生物实验室主?

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议