东莞网捷网站建设技术有限公司
首页 | 联系方式 | 加入收藏 | 设为首页 | 手机站

网站建设

联系方式

联系人:秦先生
电话:0769-6585788
邮箱:service@jihua0769.com

当前位置:首页 >> 新闻中心 >> 正文

PHP网站建设必知要点

编辑:东莞网捷网站建设技术有限公司  时间:2013/01/30  字号:
摘要:PHP网站建设必知要点

    PHP网站建设以其高效,安全,快速,强大的功能,多样的模块设计以及低廉的成本迅速被各个企业所青睐。PHP建站已经成为了一种流行,PHP企业建站也是当前企业适用的建站方案。PHP网站建设必需知道以下10要点:

    1. 在合适的时候使用PHP - Rasmus Lerd*f

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

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

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

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

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

    2. 使用多表存储提高规模伸缩性 - Matt Mullenweg

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

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

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

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

    3. 千万不要相信用户 - Dave Child

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

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

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

    4. 多使用PHP缓存 - Ben Balbo

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

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

    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 * the PDT package这样的IDE,你会发现效率得到明显提高,IDE可以自动闭合,补全分号并且可以在本地debug。

    Related posts:

    w*dpress成功升级到2.3.2虽然tag对我来说没什么用,但是着眼于安全性,我还是升级了,从两年前的2.0.5升级到现在的2.3.2,着实需要一份勇气和决心,幸好在本地跑升级的时候没有出现任何问题,只是模板上的功能需要一些简单的修改。

    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 framew*k),可以有效地节省时间,并且减少出错的几率。为什么?因为他觉得PHP实在是太好上手了。

    PHP的易于使用有时候也有缺陷,因为并不严格的语法,经常会导致很多错误代码的诞生。但如果使用一个PHP框架,出错的几率就会大大减少。

    PHP框架可以让你的代码结构更加规范,并且节省大量时间,你可以阅读《benefit of using a PHP framew*k》来获得更多相关信息。

    8. 不要使用PHP框架 - Rasmus Lerd*f

    与Josh的观点恰恰相反, PHP的鼻祖Rasmus Lerd*f却认为最好不要使用PHP框架,为什么?因为不基于框架的PHP性能更好。

    Rasmus在Drupalcon 2008的演讲上,用“Hello W*ld”的例子来对比了一些框架PHP和简单PHP之间的性能,结果显示框架PHP的性能要远远落后。

    9. 使用批处理 - Jack D. Herrington

    Jack Herrington对PHP世界并不陌生, 并且为大名鼎鼎的IBM developerW*ks贡献过超过30篇的专搞, 同时出版过《PHP Hacks》的书,因此他是一个真正的专家。

    Herrington 推荐使用批处理和Cron来代替那些可以运行在后台的程序脚步,web用户并不愿意在线等待你的处理过程,所以有些事情更适合放到后台来处理。

    诚然,在某些情况下,这有点大材小用了,但是你可以清楚地看到,使用Cron, MySQL, PHP面向对象的方法以及Pear::DB这些便捷的工具来创建一个批处理工具并不是一件复杂的事情。

    Jack认为使用cron, PHP和MySQL在后台处理一些任务,比起多进程的业务逻辑要划算得多。

    10. 及时启用错误报告 - David Cummings

    David Cummings有一个专门提供CMS软件服务的公司,并且获得过几次奖,他有非常丰富的PHP开发经验。

    David曾经写过《two PHP tips he wished he’d learned in the beginning》,其中一点就是:及时启用错误报告,这会节省大量的时间。

上一条:8个网站建设实用的ASP.NET工具 下一条:营销型网站建设与普通建站有何区别