搜索
首页后端开发php教程2014年最佳PHP框架

2014年最佳PHP框架

钥匙要点

    基于调查,2014年最有前途的PHP框架是Laravel,Phalcon和Symfony2,Yii和Codeigniter并列第四位。 Laravel的受欢迎程度主要是由于其易于进入,出色的文档,大量的社区支持和快速的开发速度。但是,存在一个误解,即拉拉维尔负责作曲家,这是一个包裹经理,独立于与之使用的框架。 Phalcon的主要优势是它的性能比其他框架,以及包括ORM,模板引擎,PHQL等的四舍五入软件包。但是,由于用C写成,很难在引擎盖下检查。
  • >
  • symfony2被认为是最模块化和最扩展的框架,并且由于包含Doctrine2而引起的最完整的框架。但是,由于其功能丰富而经常被批评为肿胀和缓慢。
  • >
  • >
  • 更新:如果您想参加SitePoint的下一个高产调查,请在此处投票给您最喜欢的IDE。调查的目的是评估PHP社区,并通过性别,位置,技能水平等找到当今使用中最受欢迎的IDE。
  • 年底即将到来。在过去的365天中,PHP世界发生了很多变化,PHP框架场景比以往任何时候都更加密集。每个人和他们的狗似乎都知道一个好的框架应该是什么样子,但是最后,我们甚至知道哪些框架实际上最终被用于生产项目中?超越成千上万的人只是在其中进行演示应用程序的阶段有多少?
  • > 在过去一周左右的一项小型调查中,
(在PHP周刊中也提到),我们提出了这些问题来决定哪种框架在2014年最受关注。参与的先决条件只是在一个以上的框架上有经验,因为毫无意义地问某人,如果他们只在一个地方喝醉了,那是什么是他们最喜欢的酒吧。

不幸的是,由于人们要么拒绝WordPress和类似套房不是框架,要么仅仅是由于公然无视指示的观念,因此必须丢弃很大一部分答案曾经在一个框架中工作。尽管他们对此选择框架的热情值得注意和令人钦佩,但最终可能被这种方法歪曲的最终结果几乎不可能被称为客观。 结果摘要

丢弃无效响应并手动验证每个参与者后,我们剩下以下数据:>

根据结果​​,2014年最有前途的框架似乎是:>

  • laravel
  • phalcon
  • symfony2

yii和Codeigniter似乎正在共享第四名。

除草明显的垃圾邮件后,迄今为止,Laravel结果必须最多进行过滤。投票支持Laravel的一半以上的人的熟练程度证明或仅对Laravel的经验证明,并且必须被丢弃 - 尽管如此,它仍然盛行。

>在查看答案时,平均而言,Laravel社区似乎大多有利于进入的便利性 - 几乎没有学习曲线。无论是好是坏是另一个讨论,因为我们最终陷入了“ php不好”时,主要是由于成群的新手认为这是一个易于进入市场的原因,但是出色的文档,大规模的社区支持和发展速度绝对有利于它。另一个经常提到的优势似乎是一个活跃且令人印象深刻的IRC渠道,可以立即提供帮助。

>一个有趣的误解似乎是拉维尔(Laravel)负责作曲家。许多选民,既丢弃和有效的选民,都提到作曲家是拉拉维尔(Laravel)的主要优势,以及雄辩的ORM和刀片模板引擎,这是奇怪的,因为作曲家是一位包装管理器,完全忽略了与之使用的框架,如果有的话, 。有关更多信息,我敦促所讨论的参与者阅读我们的一些作曲家文章,例如这篇文章。尽管如此,只有在演示项目中尝试了Laravel,这项调查的结果激起了我的兴趣,足以建立我的下一个生产项目,由HHVM提供支持。

phalcon的主要优势是与其他框架相比性能,并且该框架是如此圆形的软件包(ORM,Template Engine,PHQL等等 - 全部 - 几乎不需要第三方Libs,这意味着一切都停留在 - 记忆,基于C和超快)。一些受访者指出,它被作为扩展为优势的事实,因为安装过程将业余爱好者与认真的开发人员淘汰,我个人倾向于同意这一概念。在提到缺点时,Phalcon的最大一个也是它的最大优势 - 用C写成,几乎不可能在引擎盖下检查。 Symfony2被吹捧为束中最模块化,最扩展的,也是最完整的,主要是由于包含Doctrine2。但是,它的选民似乎确实能够承认,由于这种功能富裕,有时会有时会肿和缓慢。

>有趣的是,两个ZF1答案说,由于工作状况,他们被困在上述框架上 - 他们的团队或CTO拒绝改用更现代的东西。

值得注意的答案

在有效的答案中,这里有足够的详细信息以保证重新发布:

>纳瓦尔说:

YII的内置ActiverEcord和迁移系统使数据库的版本更容易,可以快速且无痛地进行开发。它需要少量时间来学习,但之后变得非常简单 - 值得它的同名“ yii” - 中文用于“ Easy”

@amitgupta说:

>我已经使用了多年的Codeigniter,但最终出现了它不提供我需要的东西。我需要一个有些完整的堆栈框架(所以像Slim,Silex之类的微框架)很少或根本没有学习曲线(就像CI一样),该曲线具有整洁而清洁的直觉API,在经过验证的设计模式上编写的固体代码,而不是没有' t以一种心态来束缚我,这很快并且有很好的文档,这使TDD毫不费力,并且有良好的社区和资源可用。还可以让我轻松地在引擎盖下窥视一下,以便我可以看到发生了什么(因为它的来源在c中,所以排除了phalcon)。 Laravel&Symfony非常接近,但最终我和Laravel一起去了,因为我喜欢它做更多的事情。

panique不使用列出的任何一个,并说:
>

>大多数框架太先进了,这使得非专业开发人员或前端人们很难快速建立好东西,因此我一直在寻找裸露且完全剥离的PHP Aralebone应用程序。 PHP-MVC解决了这一问题,并将学习曲线降低到30分钟以下的总时间,同时仍然非常专业和自我解释。
>

jream对phalcon说了这一点:
>

提供我需要快速,美丽的ORM所需的所有核心组件。它的功能丰富,疯狂地快速,并且具有惊人的文档。
>

克里斯·汤普森(Chris Thompson)

通过说明他选择ZF2:
,证明了PHP世界中的曝光和名称意义重大。

>我已经熟悉以前项目的ZF1。 ZF2似乎是我们下一个项目最合乎逻辑的一个。我们没有其他大多数框架的经验或接触。我们知道的文档,示例和在线帮助(stackoverflow)比ZF2。

彼得·尼克森(Peter Nijssen)解释:

>与Codeigniter合作了4年。总是很适合我,我为此写了一些火花。一直是一个不错的快速框架。便于使用。由于Codeigniter不再继续前进,而PHP采取了一些重大步骤,因此我与Laravel取得了联系。立即爱上了它,直到这个日期仍然喜欢它。一个非常出色并且非常适合开发人员的框架。在我的日常工作中,我们正在迁移从Codeigniter到Symfony的一切。在我的个人生活中,我会选择Laravel,而在职业生涯中,我会选择Symfony。 Laravel对开发人员更加友好,并变得轻而易举地反对。 Symfony对我目前对已经证明自己已经多年的事实更加信任了。当然,这两者都包含使用Symfony Parts的Laravel的相似之处。

thiago colares选择typo3流:

用于域驱动设计的架构。依赖注入。使用学说2 ORM。高级模板发动机(流体)。强大,活跃,非常熟练和有用的社区

Rob Keplin对Phalcon说了这句话:

>它利用了其他流行框架的功能,例如事件管理,易于使用的ORM,同时促进DI并利用较新的PHP功能(例如本机名称空间)。由于它是作为扩展程序构建的,因此该框架的开销很少。更不用说文档可以轻松学习。唯一的缺点是可移植性,在开发时我无法浏览库代码。但是我很高兴看到它成长并变得越来越受欢迎。

…和肖恩·M添加

>

@DwightConrad关于Laravel:

Laravel使用Symfony框架的固体测试组件以及其他流行的软件包提供了一个现代框架,提供了简单的惯例,利用现代的编程模式,并使开发变得轻而易举。看到PHP用作现代编程语言的框架,这是一个令人耳目一新的,该框架从PHP社区以外的某些知名人士那里提示。

> stanlemon偏爱symfony2:

在建筑上,我更喜欢Symfony 2。我认为这是令人钦佩的尝试,并且捆绑的整体方法非常出色。有时,它会感到肿,但在其他时候我希望它更加自以为是,但总的来说,它代表了唯一可以让我按照自己想要的方式完成工作的完整堆栈框架。使用学说2,树枝和独白以及功能测试的有力方法只是进一步鼓励使用它。

>编辑的选择

>这不是秘密,我是Phalcon的粉丝。多年来,我在大规模企业项目中使用了Zend 1和2,并且与Codeiginter一起度过了时光。在测试(没有商业经验)列表中的所有框架之后,我得出的结论是,在深处,它们都非常相似(除了Zend,Zend只是像拇指酸痛一样脱颖而出)。正是在这种意识到的是,我将所有专注于性能/鲁棒性比率重新指导,并找到了Phalcon。 Phalcon在以前的文章中已经足够涵盖了 - 足以说,在存储器中预先加载如此炽烈的快速框架确实会为您的云账单(无论您使用AWS,Azure还是其他任何内容)都感到奇怪 - 实例剃光了 - 实例剃光了 - 在以后的文章中有关此的更多信息)。

与其他人(在共享环境上不可能)更难安装的事实还确保社区是一个顽固的人,这是一个富有兴趣的人,这是一个富有兴趣的人基础知识。这意味着一个紧密联系的群体,但知识渊博。

>

结论

那么,2014年哪个框架似乎最有前途?您应该在新的一年切换到哪个?值得吗?这完全取决于您 - 与往常一样,这取决于您的舒适度,项目要求以及您必须研究新事物的时间。

>唯一的错误选择是将自己限制在一个框架中。多样化,实验,贡献。走出您的舒适区,尝试一些新的东西 - 没有其他方法可以成长。也许明年,您会以不同的方式投票!

>

我要亲自感谢您参加调查,并成为我们的读者。我们希望在2014年为您带来越来越出色的文章,并期待与您分享我们出色的作者的知识。整个网站上的团队祝您新年快乐,欢欣鼓舞!在驼峰上见!

>

有兴趣将您的PHP技能提升到一个新的水平吗?可学习的会员资格无限访问SitePoint书籍和课程,涵盖了从MySQL到面向对象的编程的PHP主题。

经常询问有关PHP框架的问题

>

选择PHP框架时要考虑的关键因素是什么?

在选择PHP框架时,您应该考虑几个因素。首先,考虑项目的大小和复杂性。一些框架更适合大型,复杂的项目,而另一些框架非常适合小型,简单的项目。其次,考虑学习曲线。某些框架比其他框架更容易学习和使用。第三,考虑社区和支持。一个大型活跃的社区可以提供宝贵的帮助和资源。最后,考虑框架的性能和可扩展性。它应该能够满足您的项目的需求,随着其增长和发展。

Laravel与其他PHP框架相比如何? Laravel> Laravel是最受欢迎的PHP框架之一,因为其优雅的语法之一,强大的功能和充满活力的社区。它为编码提供了干净,优雅的方法,使其成为开发人员的最爱。 Laravel还配备了自己的模板引擎称为Blade,并具有路由,身份验证,会话,缓存等功能。但是,与其他框架相比,它可能具有更陡峭的学习曲线。

>使用Symfony?

SYMFONY的优点是一个灵活,可扩展和功能丰富的PHP框架。它以可重复使用的PHP组件而闻名,可以独立或在其他项目中使用。 Symfony还遵循MVC设计模式,支持数据库无关的,并具有充满活力的社区。它是大规模或复杂企业级项目的理想选择。但是,对于小型项目而言,它可能过于杀伤,并且具有陡峭的学习曲线。

>

>为什么我要考虑使用Codeigniter? codeigniter是一个轻巧且直接直接的PHP框架,易于安装,使得制造它非常适合初学者。它是为需要一个简单优雅的工具包来创建功能全面的Web应用程序的开发人员而构建的。 CodeIgniter还提供了强大的安全功能,包括输入和XSS过滤,并支持MVC架构。

您能告诉我更多有关YII框架的信息吗?

yii是高性能的,是基于组件的高性能用于开发现代Web应用程序的PHP框架。它以其效率和性能优化而闻名,使其非常适合高流量网站。 YII还遵循MVC模式,并提供DAO/ActivereCord,缓存,身份验证和基于角色的访问控制,脚手架和测试等功能。

是什么使PHP框架之间的Phalcon独特?在PHP框架中脱颖而出,因为它以C延伸为extension,这意味着它快速燃烧。它针对高性能和降低资源消耗进行了优化。 Phalcon还提供资产管理,缓存,翻译和安全性等功能。

> CAKEPHP如何从其他PHP框架中脱颖而出?它为您的应用程序提供了强大的基础,使您可以专注于核心开发。 CakePHP遵循MVC模式,并提供诸如形式验证,SQL注入预防,CSRF保护等功能。

什么是Slim,我什么时候应该使用它?可以帮助您快速编写简单但功能强大的Web应用程序和API的框架。它的设计是简约的,非常适合小型应用程序,在该应用程序中,全栈PHP框架将是不必要的,而且压倒性的。

>您能告诉我更多有关Zend Framework的信息吗?稳定的PHP框架包装了许多配置选项。它是复杂的企业级项目的理想选择。但是,对于较小的项目而言,它可能是过大的杀伤力,并且具有陡峭的学习曲线。

什么是fulephp,其优点是什么?

Fuelphp是一个灵活的,全堆栈的PHP框架,可支持该框架MVC模式和更高级的版本,称为层次模型 - 模型 - 视频控制器(HMVC)。 FuelPHP凭借其模块化且可扩展的体系结构,使开发人员能够构建具有大量自治的端到端Web应用程序。

以上是2014年最佳PHP框架的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
您如何防止与会议有关的跨站点脚本(XSS)攻击?您如何防止与会议有关的跨站点脚本(XSS)攻击?Apr 23, 2025 am 12:16 AM

要保护应用免受与会话相关的XSS攻击,需采取以下措施:1.设置HttpOnly和Secure标志保护会话cookie。2.对所有用户输入进行输出编码。3.实施内容安全策略(CSP)限制脚本来源。通过这些策略,可以有效防护会话相关的XSS攻击,确保用户数据安全。

您如何优化PHP会话性能?您如何优化PHP会话性能?Apr 23, 2025 am 12:13 AM

优化PHP会话性能的方法包括:1.延迟会话启动,2.使用数据库存储会话,3.压缩会话数据,4.管理会话生命周期,5.实现会话共享。这些策略能显着提升应用在高并发环境下的效率。

什么是session.gc_maxlifetime配置设置?什么是session.gc_maxlifetime配置设置?Apr 23, 2025 am 12:10 AM

thesession.gc_maxlifetimesettinginphpdeterminesthelifespanofsessiondata,setInSeconds.1)它'sconfiguredinphp.iniorviaini_set().2)abalanceIsiseededeedeedeedeedeedeedto to to avoidperformance andununununununexpectedLogOgouts.3)

您如何在PHP中配置会话名?您如何在PHP中配置会话名?Apr 23, 2025 am 12:08 AM

在PHP中,可以使用session_name()函数配置会话名称。具体步骤如下:1.使用session_name()函数设置会话名称,例如session_name("my_session")。2.在设置会话名称后,调用session_start()启动会话。配置会话名称可以避免多应用间的会话数据冲突,并增强安全性,但需注意会话名称的唯一性、安全性、长度和设置时机。

您应该多久再生一次会话ID?您应该多久再生一次会话ID?Apr 23, 2025 am 12:03 AM

会话ID应在登录时、敏感操作前和每30分钟定期重新生成。1.登录时重新生成会话ID可防会话固定攻击。2.敏感操作前重新生成提高安全性。3.定期重新生成降低长期利用风险,但需权衡用户体验。

如何在PHP中设置会话cookie参数?如何在PHP中设置会话cookie参数?Apr 22, 2025 pm 05:33 PM

在PHP中设置会话cookie参数可以通过session_set_cookie_params()函数实现。1)使用该函数设置参数,如过期时间、路径、域名、安全标志等;2)调用session_start()使参数生效;3)根据需求动态调整参数,如用户登录状态;4)注意设置secure和httponly标志以提升安全性。

在PHP中使用会议的主要目的是什么?在PHP中使用会议的主要目的是什么?Apr 22, 2025 pm 05:25 PM

在PHP中使用会话的主要目的是维护用户在不同页面之间的状态。1)会话通过session_start()函数启动,创建唯一会话ID并存储在用户cookie中。2)会话数据保存在服务器上,允许在不同请求间传递数据,如登录状态和购物车内容。

您如何在子域中分享会议?您如何在子域中分享会议?Apr 22, 2025 pm 05:21 PM

如何在子域名间共享会话?通过设置通用域名的会话cookie实现。1.在服务器端设置会话cookie的域为.example.com。2.选择合适的会话存储方式,如内存、数据库或分布式缓存。3.通过cookie传递会话ID,服务器根据ID检索和更新会话数据。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版