PHP框架深度解析

  PHP成为世界上最流行的脚本语言有许多缘由:灵活性,易用性等等。但一般只用PHP或者其余语言编码就会显得单调、重复,这时候就须要一个PHP框架来代替程序员完成那些重复不变的部分。本文经过回答What,When,Why以及Which这些问题,将对PHP框架进行全面解析。程序员

  PHP框架是什么?web

  PHP框架提供了一个用以构建web应用的基本框架,从而简化了用PHP编写web应用程序的流程。换言之,PHP框架有助于促进快速应用开发(RAD),不但节省开发时间、有助于创建更稳定的应用,并且减小了重复编码的开发。经过确保适当的数据库交换和在表现层编码,框架还能够帮助初学者创建更稳定的应用服务。这可让你花更多的时间去建立实际的Web应用程序,而不是花时间写重复的代码。数据库

  一般认为PHP框架的做用至关于模型-视图-控制器(Model View Controller)。MVC是种编程的架构模式,将业务逻辑从UI中分离出来,容许一个一个单独修改(也称为关注点分离)。在MVC中,Model指数据,View指表现层,Controller则指应用程序或业务逻辑。基本上,MVC打破了一个应用的开发进程,这样各组件就能够不受影响地各自工做。从本质上讲,这使得用PHP编码更快更简单。编程

  为何要使用PHP框架?安全

  开发人员使用PHP框架的好处不少,其中之一是加快开发进程。在相似项目中重用代码将为开发者节省大量的时间和精力。框架为执行繁琐的代码任务提供预建模块,所以,开发人员能够把时间花在实际应用的开发上,而不是每个项目都从新构建基础功能。服务器

  稳定是开发者使用框架的另外一个重要缘由。虽然简单是PHP最大的优势,不少人也由于这一点喜欢使用这个脚本语言,但它同时也是PHP最大的缺点。一些开发者尤为是初学者很容易写出低劣的代码,而本身却没有意识到。使用PHP,应用每每会将静态工做加倍,不知不觉中您可能已经在编码时打开了一个大的安全漏洞,所以可能会受到攻击。重要的是要记住,PHP是一个很是宽容的语言,所以,更重要的是在编程时确保封闭任何漏洞,即使应用看起来能够正常工做。架构

  最后,PHP框架的使用是很是普遍的,并且有许多不一样的框架可供选择。许多开发者会选择知名的框架,是由于它的知名度、其开发团队的巨大支持,并且他们能够经过论坛/社区来与其余使用相同框架的开发者交流,固然你也能够开发本身的框架。这里提醒一下,首先应该检查你的项目来决定是否应该使用一个框架。你应该问本身:它会节省你和其余使用者的时间和精力么?应用程序的性能会更好么?是否会提升稳定性?若是这些问题你的回答都是是,那么你就该为你的项目选择一个合适的框架了。框架

  什么时候使用PHP框架?模块化

  这是一个不管有经验的开发者仍是初级开发者都共有的问题,并且这个问题也确实没有直接的回答。对于许多初学者来讲,一个框架将提供不少简便和稳定,所以应该尽量地使用PHP框架。这将有助于减小或消除不良编码,加快开发进程。工具

  另外一方面,许多有经验的PHP程序员将框架视为不知道如何写出好的、干净的代码的低级程序员的工具。姑且不论这一点的真假,起码毋庸置疑的是PHP框架是一个能够用来节省时间并强化本身编码的工具。

  当工做的项目时间紧迫时,使用PHP框架就有不少好处,能够大大加快编码进程,所以因此若是你时间紧迫,使用PHP框架就是很好的选择。另外一个例子是,当你所作的项目有大量代码时,也应当考虑使用PHP框架,由于这将有助于减小工做的繁琐度。

  寻找一个什么样的PHP框架?

  有许多可供开发者选择的PHP框架,甚至还能够建立本身的框架,尽管只建议PHP专家级这样作。当寻找你最须要的PHP框架时,重要的是要搞清楚谁将自始至终使用或修改你的应用,若是是有不少人作这件事情,那么最好使用流行的PHP框架,这样大部分开发者都不会陌生。另外一方面,若是你想构建Web应用程序为你我的使用,那就最好选择令你满意的PHP框架,而不在意它在开发者社区中是否流行。

  选择PHP框架的参考因素有不少,包括:容易使用、快速开发、性能、开发者中的流行程度、强大的功能,技术支持、论坛等。当你第一次选择PHP框架时,为了找到一个适合你需求的最佳选择,建议多尝试几个。每一个框架都有所不一样,并有不一样的长处和短处。例如Zend框架因为V3和多样的功能、而且有一个普遍的支持系统,于是它流行了这么久。相反,CakePHP是另外一个晚于Zend框架的PHP框架,相应的支持系统也比较少,但更方便和易于使用。

  正如你所看到的,每种类型的PHP框架都有本身的优势,所以,最好反复试验以找出其中哪一个最适合你的须要。另外一个选择PHP框架的有效方式是咨询你的同事,看看开发社区里选择哪一个。那些真正使用过具体框架的可以明确地告诉你它的易用性、功能、支持可用性、社区内的状况,固然可能还有不足。

  使用PHP框架最多见的错误

  任何类型的编程中均可能有错误,可是PHP框架有助于显著限制这些错误。重复编码彷佛加重了这种错误,而框架则解决了这一问题。尽管如此,在使用任何PHP框架时仍要注意。例如,除非你是一位PHP编程的专家,不然你应该老是选择使用流行的框架,有大量的支持和积极的用户群。不少框架的支持不多甚至没有,它们多是被PHP知识有限的个别开发者所建立的。这些类型的框架,可能会使你的应用程序没法正常运行,更糟糕的是,可能会给你的网站带来灾难性的安全问题。

  另外一些常见的错误是,不能确保你的数据库和Web服务器符合特定框架。例如,Seagull PHP Framework建议以下配置:

  *PHP:最低是PHP 4.3.0,PHP 5.1.1或者更高版本更佳,避免任何5.0.x版本中的东西;

  *MySQL的:支持MySQL的4.0.x,4.1.x和5.0.x,也可使用3.23.x;

  *Apache:Seagull支持1.3.x以及Apache的2.x系列。

  若是你没有知足这些要求,您将没法在你所选的框架中看到最好的性能。即便你是PHP的专家,你也应该常常复习框架的说明文档,确认兼容性后再尝试。

  相似于前面提到的常见的错误,不遵循建议的安装进程的话,你的PHP框架也能够给你带来一些使人头疼的问题。以Seagull为例,在Seagull的wiki有一个详细的框架安装过程,其中有几个关键步骤,很容易被不当心或不知情的开发者忽视。所以你要花费时间来安装框架并遵循安装说明。

  最好的PHP框架有哪些?

  过去的几年中,由于PHP已发展成为大多数开发者选择的脚本语言,于是也产生了大量的PHP框架。什么是最好的PHP框架,仁者见仁智者见智,由于并不是每个框架都可以适合每个人。如下是5个最佳和最流行的PHP框架选择:

  Zend Framework在开发者社区中颇有人气,其重点是Web 2.0风格的应用程序。因为其大量的党羽、普遍的支持和积极的用户群,Zend被称为PHP Company。Zend即便不是当今最流行的PHP框架,也绝对是之一。它强大的功能可以知足企业级的需求,固然它的使用也须要具有普遍的PHP知识。

  从初学者到高级PHP开发者,CakePHP都是一个很棒的选择。它与Ruby on Rails设计的原则基本相同,主要集中在快速开发方面使其成为一个快速应用开发的优良框架。其迅速增加的支持系统、简单和可扩展性使CakePHP成为当今最热门的PHP框架。

  Symfony针对的更多的是高级开发者,也即建立企业级应用的开发者,尤为是Askeet和Yahoo!Bookmarks。这个开源的PHP框架功能全面,但它的主要缺点是速度慢于其余框架。

  CodeIgniter以其易用性、性能和速度而闻名。不一样于Symfony,CodeIgniter主要针对的是与人共享主机的开发者,或者为小型设备寻找PHP框架的开发者。它提供简单的解决办法,并且有一个扩展库包括视频教程、论坛、用户指南和wiki。初学者应该考虑使用CodeIgniter。

  Seagull是一个稳定的用于构建web、命令行和GUI应用的PHP框架。这是一个很是易于使用的框架,很是适合初学者到高级程序员。对于初学者,Seagull有一个范例应用库,能够本身设定后知足自身需求;对于高级开发者,Seagull提供了众多选择包括最佳实践、标准、模块化的代码基,这些均可以帮助快速简单地构建Web应用程序。Seagull有一个活跃的开发者社区,内有大量的支持性文档和说明。

  归纳

  PHP框架为各类技术等级的开发者减小了重复编码的需求、加快了开发进程,并在建立web应用时确保正确的编码。这不只加快了富应用开发的进程,同时也经过减小代码的安全漏洞而加强了PHP的安全性。

  虽然一些专家级PHP程序员以为没有必要使用框架开发Web应用程序,但PHP框架仍然能够是快速开发的优秀解决方案,好比在工期很紧的状况下。从初级到中级开发者,框架能够提升PHP的学习,同时促进良好的代码编写和减小坏代码。

  今天有不少的PHP框架可用,所以开发者确定能从中找到一个适合本身的框架:功能、支持、速度、可扩展性等。开发者普遍使用的一些顶尖的PHP开发框架包括:Zend Framework,CakePHP,Symfony,Codeigniter以及Seagull。

相关文章
相关标签/搜索