PHP优秀框架Laravel和Yii大PK( 二 )


5.CRUD(增加(Create)、检索(Retrieve)、更新(Update)和删除(Delete))的生成
许多项目会使用管理面板,来实现各种数据表的CRUD功能 。而作为Yii中的一个专用扩展,Gii提供了一个基于Web的界面,可以自动生成各种常用的交互式代码片段 。不过Laravel并不能默认支持CRUD的生成 。
得分:Laravel得1分:Yii得5分
6.扩展支持
通过不同的扩展,我们往往能够让原有的框架,具有增强应用性能或特性的高级能力 。虽然这两种框架都提供了受支持的扩展库,但是Laravel在此方面略显优势 。目前,Yii有大约2,800个扩展 。而Laravel已经能够支持大约9,000个扩展了 。
得分:Laravel得5分:Yii得2分
7.迁移
您可能需要将应用迁移到新的数据库结构中,而不想丢失旧的结构中的数据 。那么,这往往离不开便利的数据库迁移框架 。由于Laravel提供了seeder来协助简化该过程,因此其迁移操作相对比较容易 。而Yii也提供了一个完整的迁移工具,来支持有效的迁移过程 。
得分:Laravel得3分:Yii得6分
8.测试
众所周知,在被用于Web应用的开发时,框架应当具有良好的测试能力,以检测和调试各项操作中的错误 。同样,这两个框架在测试方面也是各有千秋 。Yii提供了开箱即用的PHPUnit和Codeception,而Laravel提供了PHPUnit、以及诸如Httpkernel、DomCrawler、Browserkit等各种Symfony测试组件 。
得分:Laravel得4分:Yii得7分
9.安全
如今,安全性对于应用程序来说已是至关重要的了,毕竟任何攻击或漏洞都可能造成严重的破坏,进而泄露有价值的客户信息 。因此,您需要通过框架,来保护用户数据的同时,为各种用户角色提供和管理适当的访问级别 。Yii和Laravel都提供了诸如:密码保护、身份验证、防止SQL注入、预防跨站点脚本(XSS)攻击、以及其他安全威胁机制 。不过,由于Yii提供了功能丰富且基于角色的访问控制系统,而Laravel则需要第三方的扩展,因此Yii又更胜一筹 。当然,我们在此并没有贬低Laravel的安全性价值的意思 。
得分:Laravel得4分:Yii得8分
10.可用的文档
Laravel虽然提供了大量条理性强且具有技术含量的文档,然而由于信息量过大,开发人员很难快速地找到所要的信息 。相比之下,Yii虽然没有强大的文档,但是在提供信息的方式上,并不存在陡峭的学习曲线 。用户可以按照其文档指引,轻松地开始编程工作 。当然,不可否认的是,就文档的丰富程度而言,Laravel要比Yii强大得多 。
得分:Laravel得8分:Yii得5分
PART 03
对比结果
从综合评分来看,Laravel和Yii可谓势均力敌、不分伯仲 。毕竟每一种框架都有着适合自己的用例场景和具体领域 。总的说来,Laravel是一个广受专注的框架,其主要用户群体是各类Web开发人员 。当然,Yii也拥有不小的用户群,它主要适合那些初学者级别的Web开发人员、系统管理员、以及其他开发爱好者 。
就实际项目而言,如果您正在尝试着构建大型的Web应用或企业级应用的话,Laravel将是您的最佳选择 。而如果您正在寻找一个简单的开发框架,且目标是开发一个中小型应用的话,那么Yii会更加适合您 。
原文链接:
https://dzone.com/articles/differences-between-laravel-and-yii
译者介绍
陈峻 (Julian Chen),51CTO社区编辑,具有十多年的IT项目实施经验,善于对内外部资源与风险实施管控,专注传播网络与信息安全知识与经验;持续以博文、专题和译文等形式,分享前沿技术与新知;经常以线上、线下等方式,开展信息安全类培训与授课 。
本文由高可用架构翻译 。技术原创及架构实践文章,欢迎通过公众号菜单「联系我们」进行投稿 。




推荐阅读