115
各种PHP框架,怎么选择一个适合你的?
PHP是世界上最流行的编程语言之一,并且最近PHP7的发布让这门服务器端的编程语言比以往更加的强大和稳定。
PHP广泛应用于大型项目,例如Facebook使用PHP来建立和维护他们的内部系统。Wordpress使用PHP作为它的内核使其占据了26%的web项目。目前82%的web网站使用PHP作为其服务器端的开发语言(据Web Tecnology Surveys网站调查)
在这篇文章内,我们将一起来分析3中最流行的PHP框架:Symfony、Laravel、和Yii。我门通过说明怎么比较它们来帮助大家选择一个最适合自己需求的框架。
是什么让我们使用框架而不是使用纯粹的php原生语言来开发我们的应用?使用框架的一些好处如下:
以上的好处很显著以致于不容忽视。即使使用原生的PHP也能用来开发任何的应用,但是当前的开发规范要求使用工具和时间管理的技巧来满足市场的需要。
回答下面的一些问题能帮助你选择适合自己的框架:
在深究技术细节之前,我们先来整体介绍下这3个竞争者
Symfony是一套可复用的PHP组件,这些组件可以使开发者开发出易扩展和高性能的应用。有30个组件可供选择,开发者有完全的自由在RAD环境中实验和工作。Symfony的APIs也使得它很容易的与第三方应用整合,它也能与流行的前端框架一起使用,比如AngularJs。
很多的流行项目包括Drupal和phpBB也使用了Symfony框架。实际上目前最流行的框架Laravel也是建立在Symfony上。
Laravel作为“为web艺术家而生的框架”被广泛使用,它提供了极其优秀的社区并获得了最流行的框架的称号。
在2015年5月Laravel发布声明Laravel5.1版本将提供2年的长期支持。2015年11月5.2版本推出。很多托管提供商提供Laravel支持并提供Laravel应用的托管解决方案。
Qiang Xue在2008年推出了Yii框架,Yii框架安全、快速、性能卓越。Yii使用Composer作为它的php依赖管理工具来帮助处理不同的依赖和其安装。得益于惰性加载技术的使用,Yii框架是目前速度最快的框架。
Yii另一个伟大的特性是整合来JQuery。这种整合使得前端的开发者开始的拥抱它,并且它使用脚手架生成代码,类似与Symfony。Yii也使用组件来快速开发应用。
这3个框架开发Web2.0应用都非常的好,但是各自服务与不同的目的。让我们看看它们的特性以及它们目前的状态。
模板引擎在编写前端代码时,简化开发者的工作并提供更好的功能。模版引擎提供的特性包括自动html代码转义和过滤、添补原生php留下的间隙。
Symfony Twig模板系统
Twig是一个PHP的现代模板系统。Symfony利用Twig的优势使开发者写出更加干净、简洁的代码。
Laravel Blade模板系统
不像其他的模板系统,Blade让你在视图中是用PHP代码。并且Blade对应用的性能影响几乎为零,因为视图文件都是以作为扩展名。视图文件所有的代码在程序运行中都转换为了原生的php。
Yii默认模板系统
Yii默认没有使用任何第三方模版系统,但是这并不意味者它缺少对模版引擎的支持。模板引擎的选择取决去开发团队。Yii推荐使用Twig和Smarty模板引擎。介于Symfony使用的是Twig,所以如果你以前使用过Symfony,你可能想在你的下一个Yii框架中使用Twig。
这里没有明显的优胜者。3个框架都使用模版引擎使前端代码的的书写和维护更简单。Yii的一个小优势是它没有提前预设一个模板系统。
每个框架都不一样。Symfony致力于提供可复用的组件和提供最好的模块化支持。Symfony也使用模型和控制器来开发web应用,对于新的开发者这看起来有点老套。但是确实好用。对于模块化框架来说Symfony是一个很好的例子。你可以使用模块化的方式在你的项目中使用Symfony提供的30个组件。
Yii框架使用MVC模型(Symfony也提供对MVC的支持)
Symfony可以用来快速开发和用于复杂项目。即便有对哪个框架最适合开发复杂项目有争议,Symfony相对于其他框架显示出了卓越的复杂处理能力
Yii也使用组件但是不像Symfony一样模块化。Laravel不像另外2个框架一样提供激进的模块化支持。
如果你正在寻找一个模块化的框架,就去选择Symfony,其他的话,Laravel和Yii都是很好的选择。
这三个框架提供了许多安装程序。如果你用Composer去处理安装包,你会很高兴发现,所有的框架都可以通过Composer安装
对Symfony而言,Composer的作用更加关键。通过使用PHPComposer依赖管理器,组件处理的想法能更好的实现。
各个框架还有其他的安装方式。例如,您可以使用简单的归档方法安装框架。
安装完成后,Yii为你提供了一个Web应用程序和一个基本模板来工作。Symfony2还提供了一个开始的演示程序。
Laravel通过Composer的命令或者通过Laravel安装器也能简单的进行安装。详情请查看laravel安装指南。
从公司或客户的角度来看,快速地将应用程序推向市场以满足消费者的需求并击败竞争对手是很重要的。
symfony有一个强大社去支撑,并作为一个健壮的框架而凸显出来。Laravel正在迅速成长,但在被视为PHP实际的开发选择之前,Laravel还有很长的路要走。
另一方面,如果你不认识任何PHP框架,又想尽快上手,那么可以考虑Laravel。Laravel有一个简单的学习曲线,你会发现网上很多教程来帮助你开始。
Yii的性能有一个新的水平,并为快速的的代码生成和开发提供了代码脚手架。
任何应用程序的性能只关系到它是否是一个使用关键数据的实时应用程序。有多少依赖高性能的web应用程序?并不是很多,但是框架的性能在许多项目中可以起到关键的作用。
社交网络是实时事件应用的首选例子,我们的一个明星的产品-jadson使用yii2建了一个移动社交网络,当初我们为编写高性能的应用而选择一个最好的框架时。Yii作为最快的PHP框架而凸显出来。
Laravel的性能是一个颇有争议的问题。它是最慢的,但这有关系吗?你会找到在线资源去加速它的性能,包括GitHub上的指南让你的laravel应用变得更快。
Symfony 2提供了更好的数据库支持。你可以使用一组数据库,包括NoSQL和DynamoDB。
Yii和Laravel在这方面也同样有用,但他们支持的数据库比symfony的少。每个框架支持的数据库如表1所示。
开源框架持久性的一个重要预测因素是其社区的力量。这3个框架都有稳定而坚实的社区,尽管Symfony的社区可能更成熟一些,但是社区在进化,所以对社区的未来的动态预测很难。
说到学习资料和文档,Laravel突出出来来,尽管Symfony和Yii并没有落后很多。
框架是可以通过扩展或包进行扩展的结构,用来改进了它们的功能和范围。说到扩展,Laravel是赢家。packalyst一个laravel扩展包的库提供超过9000的扩展包。另一方面Yii和symfony分别提供了2800左右的扩展和2830的包,Laravel提供来超过3被的扩展。Laravel在这方面似乎是最好的框架。
我们已经研究了框架之间的差异。现在让我们看看它们的相似之处:
仍然迷惑?也许这些列表有助于你缩小选择范围:
在Symfony与Laravel与Yii的竞争中,3个框架都是极好的选择,都为开发者提供来全栈的开发环境。对于我来说,作为一种新兴的且没有停止的迹象的明星-Laravel是一个胜利者。
转载请注明:潍坊网站设计:http://www.mfdream.com/newsshow/217.html
关键词
热门分享
最新文章
2020.11.05
高端网站开发建设:免费建站系统的报价
2019.04.15
贵阳网站开发:如何测试WordPress网站的响应性设计
2019.04.15
台州企业网站建设:有关Firefox开发工具的所有需要了解的信息
2019.04.15
南宁企业网站建设:MailPoet:如何在WordPress中运行您的电子邮件营销活动(评论)
2019.04.15
海口网站建设:使用MailChimp模板的10种鼓舞人心和创造性的方法
2019.04.15
WordPress社区的鸟瞰(&如何参与)
2019.04.15
现存14家最具影响力的WordPress博客网站公司
2019.04.15
展望网络设计的未来:20年后我们将走向何方?
2019.04.15
AWeber是一个很好的自动响应式网站解决方案吗?
2019.04.15
为什么你现在应该开始使用Chrome开发工具
随机推荐
2018.06.20
潍坊低价网站制作:进入互联网的大时代
2019.01.04
寒亭网页制作设计:如何设计网页设计的完美布局
2018.05.24
潍坊企业网站建设与生产之间的价格差异为什么这么大
2019.01.05
网站建设寒亭:网站开发:如何在设计中使用色调和阴影
2019.01.07
潍坊专业做网站:网站制作过程需要遵循SEO规则
2018.04.12
潍坊中小企业建站需求分析,潍坊网站建设方案
2019.01.03
潍坊模板网站建设:动画师兼导演达西·普伦德加斯特的严肃动画和扭曲幽默
2019.01.04
安丘企业网站建设:如何通过网站建设来增加企业的销售额!
2019.01.04
潍城网站建设:如何使你的网页设计更高推荐5种常用字体
2018.06.09
潍坊定制网站建设:定制网站开发与模板构建有什么区别