PHP高级开发,php开发思路
在WEB开发领域,PHP是最流行的语言之一。从PHP中,你可以很容易地找到你需要的脚本。不幸的是,很少有人使用“最佳实践”来编写PHP程序。在这里,我们向您介绍PHP的10个最佳实践。当然每一个都是大师们证明的。
1.适当的时候使用PHP拉斯马斯勒德尔夫
没有人比PHP的创始人拉斯马斯勒德尔夫更了解PHP在哪里被更合理地使用,他在1995年发布了PHP语言。从此,PHP就像一场燎原之火,烧遍了开发阵营,改变了互联网的世界。然而,拉斯穆斯并没有因为这个原因而创建PHP(
http://www . Oracle . com/tech network/articles/index . html).PHP的诞生是为了解决WEB开发者的实际问题。
像许多开源项目一样,PHP已经变得流行起来。其流行的动机无法用正常的哲学来解释,甚至有些自恋。可以作为一个案例,解决各种Web问题的工具需求引发的案例,所以PHP刚出现的时候,所有的工具需求都集中在PHP上。
然而,你不能指望PHP解决所有问题。Lerdorf是第一个承认PHP只是一个工具的人,有很多情况超出了PHP的能力范围。
根据不同的工作选择合适的工具。我跑了很多公司说服他们部署和使用PHP,但这并不意味着PHP适用于所有问题。它只是一个前端的脚步语言,可以解决大部分问题。
作为一个web开发者,试图用PHP解决所有问题是不科学的,也会浪费你的时间。当PHP不行的时候,不要犹豫尝试其他语言。
2.使用多表存储提高秤的可扩展性Matt Mullen Weg
没有人想质疑马特莫楞威格在PHP方面的权威。他开发了这个星球上最受欢迎的博客系统,(由强大的社区力量支持):WordPress(
http://wordpress.org/)。创建Wordpress后,Matt和他的团队推出了WordPress.com平台,一个基于WordPress MU的免费博客网站。现在,Wordpress.com有大约400万用户,他们每天提供超过14万条日志。
如果有人知道如何自由扩展网站,那一定是马特莫楞威格。2006年,Matt对Wordpress的数据结构进行了前瞻性的改进,并解释了为什么Wordpress MU对每个博客使用独立的MYSQL表,而不是将所有博客数据塞进一个巨大的表中。
我们已经测试了这种方法,但是发现扩展它的可伸缩性太昂贵了。如果使用一个整体的数据结构,在大流量面前会面临服务器硬件的问题。在MU。用户分布在独立的表中,可以很容易地组织起来。举个例子,
http://WordPress.com用户数据分布存储在4096数据库中,可以分布式大规模数据访问,实现流量和压力分流。
数据表的可移植性使代码(博客)运行更快,使系统更具可扩展性。依靠强大的缓存策略和灵活的数据库应用策略,Matt向人们展示了最流行的脸书和
http://Wordpress.com可以在PHP下稳定运行,处理惊人的流量。
3.永远不要相信用户——戴夫蔡尔德
Dave Child添加了字节(以前是
http://ilovejackdaniels.com)是网站的核心人物,以优秀《cheat sheets for many programming languages》(
http://www . added bytes . com/cheat-sheets/)。戴夫为许多英国公司工作,在编程界树立了相当大的权威。
Dave为PHP开发者提供了很多贴心的建议,总结为《writing secure code in PHP》:永远不要相信你的用户,他们甚至可能伤害你。
web开发有一个基本原则我再怎么重复也不为过,那就是永远不要相信你的用户,同时假设你的网站中的每一个数据单元都是从用户那里收集来的恶意代码。很多时候,你必须使用JAVAscript在客户端检查表单提交的内容。如果你习惯这样,那么,这是一个好习惯。如果安全对你很重要,这是最重要的原则。
戴夫目前正在整理他的《Writing Secure PHP》系列书籍的例子。在书的结尾,他说:
最后,要偏执。除非你认为你的网站永远不会被攻击,否则正视所有的问题。当问题真的发生时,你的处境会变得非常糟糕。你需要把每一个用户都当成一个会带来攻防站的黑客,想尽一切办法保护网站的安全,同时还要想到相应问题的解决方案。
4.更多地利用PHP缓存Ben Balbo
Ben Balbo开发了Site Point,这是一个为开发者和设计者提供指导的网站。他是墨尔本PHP开发与开源俱乐部的成员,所以对PHP有一定的了解,同时,对PHP缓存(
http://www.sitepoint.com/article/caching-php-performance/)有一定的想法和经验。
如果你有一个访问量很大的网站,但是更新很少(比如博客,基于一些CMS),也许它需要一些转换。这些转化不会花太多时间,但对业绩有突出贡献。如果你想为一个复杂/快速更新的网站建立一个缓存机制,过程可能会比较曲折,但好处是显而易见的。
PHP缓存技术有很多种,Ben为我们推荐了以下几种:
缓存函数的运行结果。
设置到期时间
缓存IE下载的文件
模板缓存技术
Cache_Lite
因为PHP是一种动态语言,所以缓存机制对于不经常更新的网站非常重要。
5.使用IDE、模板和代码片段加速PHP开发——Chad kie ffer
Chad Kieffer退出UI设计和数据库优化后,会在他的博客2汤匙上分享很多技术经验。因为查德在很多方面的全方位发展,他经常能发现其他程序员发现不了的问题,并形成相关经验,尤其是他开发网站的方法。他参与了网站开发的方方面面,所以他的建议对于提升网站开发的全局观非常有用。
Chad认为使用Eclipse PDT (Eclipse的PHP开发包)这样的IDE和一些模板技术以及开源项目可以有效提高PHP的开发速度。
紧凑的计划、冗长的任务清单和截止日期让开发人员非常沮丧。但有些功能,如Eclipse模板,可以有效减少编码时间和出错概率。
一般来说,任何项目都可以自动化。自动化程度越高,你完成项目的时间就越短。花时间开发常用的框架和模板将在未来为您节省更多时间。同时,在使用Eclipse这样的IDE和PDT包时,你会发现效率明显提高。IDE可以自动关闭、完成分号并在本地调试。
6.利用好PHP的过滤功能——Joey Sochacki
也许乔伊索查基没有马特莫楞威格出名,但他也是一名经验丰富的开发人员,并通过他的博客develo io分享了许多技术经验。
Joey发现,在编写php代码的过程中,有很多地方需要过滤,但是没有多少编码人员关注php内置的过滤功能。
数据过滤是我们经常需要做的事情,但是很多丰富的PHP内置过滤功能却不为人知。使用filter_*这样的PHP内置函数,我们可以处理几乎所有的过滤任务,包括数据类型验证//URL/email和IP地址验证/特殊字符处理等等。
过滤是一件很复杂的事情,但是我相信joey的发现会给你很多启发,让你体会到PHP强大的过滤功能。
7.使用PHP框架Josh Sharp
关于是否应该使用Zend、CakePHP、CodeIgniter或其他PHP框架,一直有很多争议,但在web开发人员的心目中,他们有自己的标准。
Josh Sharp自己创建了一个提供面包和黄油服务的网站,所以他有一些使用PHP框架开发网站的经验。他认为,使用PHP框架进行项目开发,可以有效节省时间,降低出错概率。为什么?因为他觉得PHP真的很好用。
PHP的易用性有时是有缺陷的,因为其松散的语法经常导致许多错误代码的诞生。但是,如果使用PHP框架,出错的概率会大大降低。
PHP框架可以让你的代码结构更加标准,节省大量时间。
(PS:
自己设计PHP MVC框架
justjavac)
8.不要使用PHP框架——拉斯马斯勒德尔夫
与乔希的观点相反,PHP的鼻祖拉斯马斯勒德尔夫认为最好不要使用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符合“保持简单,愚蠢”(KISS)的原则,让后台处理简单。与多进程业务逻辑相比,它没有内存溢出的风险。您可以创建一个简单的批处理脚本并在cron中运行它。这个脚本会定时检查是否有任务需要处理,处理完会自动退出,不用担心是否出现进程卡壳或者陷入死循环。
10.及时启用错误报告David Cummings
大卫卡明斯(David Cummings)有一家公司,专门提供CMS软件服务,并获得了多个奖项。他有丰富的PHP开发经验。David曾经写过《two PHP tips he wished he’d learned in the beginning》,其中一条是:及时启用错误报告会节省很多时间。
我告诉人们,最重要的是最大程度地打开PHP错误报告。为什么?因为PHP可能会隐藏很多小问题:
代码片段中引用了不可用的变量。
使用未定义的常量,这些因素似乎不是什么大问题,除非你是用面向对象的方法写一些类库。通常,关闭错误报告可能会增加维护代码的成本。
错误报告可以帮助您轻松地找到代码的问题。如果错误报告的级别足够高,可以立即发现细微的错误,这将帮助您节省整体调试的时间。
英文原文:
PHP大师的10个原则
出发地:
卢帕世界
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。