app漏洞挖掘之逻辑漏洞_laravel漏洞_漏洞英文bug

翻译|陈

Laravel和YII是PHP的两个出色框架。他们在世界各地都有成熟的社区,还有许多编程爱好者。本文为您提供了Laravel和YII的全面比较,并与您讨论了如何根据特定项目在两者之间进行选择。

如果您询问任何经验丰富的Web应用程序开发人员他们喜欢的编程语言是什么,他们的答案主要提及PHP。确实,PHP是一种广泛使用的通用脚本语言,特别适合Web开发,可以嵌入HTML中。

根据构建网站技术分析工具的统计数据,目前仍有3,090,319个实时网站仍在使用PHP。当然,开发人员在开发低潜伏期和高稳定性的大型项目时倾向于使用某种框架。其中,Laravel和YII是PHP的两个出色框架。他们在世界各地都有成熟的社区,还有许多编程爱好者。下面,我将为您全面比较Laravel和YII,并与您讨论如何根据特定项目在两者之间进行选择。

第01部分

Laravel和Yii到底是什么?

Laravel是一个简单的PHP框架,通常用于基于Web或Web应用程序开发,最初是作为代码签名人的更好替代品创建的。它以对MVC,协作ORM系统,可靠性,模块化和简单编程规则的支持而闻名。通常,Laravel框架具有以下关键特征:

Artisan:Artisan是一种命令行工具,可让您轻松创建模型,控件,安排任务并运行各种自定义命令。

雄辩:雄辩是一个用于对象关联映射(ORM)数据库的交互式框架。

不同的数据库支持:Laravel为当前可访问的每个数据库格式提供代码软件包。它通过允许迁移操作来确保数据库修改和版本控制。

刀片模板引擎:它允许在视图中使用简单的PHP代码。为了避免应用程序过载,一旦构建和缓存视图,它们就会保留,直到再次更新为止。

庞大的Laravel库:开发人员可以在自己的应用中安全地使用数百个标准化的Laravel代码库。该框架的设计师还为官方文档提供了定期更新,以便开发人员广泛使用。

YII于2006年作为Prado框架的继任者发行。作为可用于快速开发现代Web应用程序的开源PHP框架,它具有基于组件的架构和完整可靠的缓存支持。开发人员可以使用YII框架来构建各种Web应用程序,例如论坛,门户网站,内容管理系统,RESTFILE服务和电子商务网站。通常,YII框架具有以下关键特征:

完全支持DBMS:YII框架支持PostgreSQL,MySQL,Sqlite,Oracle和其他DBMS。

支持第三方模板引擎:YII框架没有内置的模板引擎支持,但是可以使用第三方解决方案。

一个有力的知识库:其官方文档和丰富的教程可以帮助开发人员快速找到大多数问题的答案。

自动代码生成:开发人员可以使用GII扩展程序自动生成代码,从而大大加快编程过程。

可以看出,这两个框架都非常适合网络开发。当然,它们本质上是不同的。

第02部分

Laravel和Yii之间的区别

1。安装

这两个框架都可以在PHP 5.4或更高版本上运行。但是,Laravel需要其他扩展名,例如:PHP JSON和MCRYPT PHP,YII已经内置了它们。此外,您可以通过下载压缩文件并将其解压缩到Web应用程序可以获取的文件夹中安装YII。同时,您还可以使用PHP软件包管理工具Composer安装并配置访问令牌。对于Laravel,您可以使用Laravel安装程序或作曲家将其安装。

得分:Laravel得分1分:YII得分1分

2。基于方案的验证

Laravel没有任何可用于执行基于方案的验证的代码软件包。在YII框架中,用户可以使用各种请求参数来分配模型并验证它们。

得分:Laravel得分1分:YII得分2分

3。客户验证

Laravel没有任何可以执行客户端身份验证的代码软件包。 YII可以开箱即用,提供JavaScript验证,因此您可以通过仅定义一组模型规则来在服务器端和客户端进行验证。

得分:Laravel得分1分:YII得分3分

4。路由功能

尽管Laravel提供了资源路由,但您需要为所有控制器中的每个操作声明一条路线。 YII框架的默认选择是按路由模式的路由模式,因此您无需进行重复操作,只是一个简单的路线。

得分:Laravel得分1分:YII得分4分

5。生成Crud(创建,检索,更新和删除)

许多项目使用管理面板来实现各种数据表的CRUD功能。作为YII的专用扩展,GII提供了一个基于Web的接口,可以自动生成各种常用的交互式代码段。但是,Laravel不能默认支持Crud生成。

得分:Laravel得分1分:YII得分5分

6。扩展支持

通过不同的扩展,我们通常具有提高原始框架的应用程序性能或特征的能力。尽管这两个框架都提供了支持的扩展库,但Laravel在这方面有一个略有优势。目前,YII大约有2,800个扩展名。 Laravel能够支持大约9,000个扩展。

得分:Laravel得分5分:YII得分2分

7。迁移

您可能需要将应用程序迁移到新的数据库结构,而不想丢失旧数据。然后,这通常与方便的数据库迁移框架是不可分割的。由于Laravel提供了帮助简化过程的播种机,因此其迁移操作相对容易。 YII还提供了一个完整的迁移工具来支持有效的迁移过程。

得分:Laravel得分3分:YII得分6分

8。测试

众所周知,当用于Web应用程序的开发时,该框架应具有良好的测试功能,以检测和调试各种操作中的错误。同样,这两个框架在测试中也具有自己的优势。 YII开箱即用,提供phpunit和codeception,而Laravel则提供Phpunit,以及各种Symfony测试组件,例如HTTPKERNEL,DOMCRAWLER,BROSSERKIT,ETC。

得分: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分

第03部分

比较结果

从综合分数来看,拉拉维尔(Laravel)和YII均匀匹配并且匹配。毕竟,每个框架都有自己的用例场景和特定区域。通常,Laravel是一个广泛集中的框架,其主要用户群是各种Web开发人员。当然,YII还拥有大型用户群,该用户群主要适合初学者级的Web开发人员,系统管理员和其他开发爱好者。

就实际项目而言,如果您要构建大型网络或企业级应用程序,Laravel将是您的最佳选择。而且,如果您正在寻找一个简单的开发框架,而目标是开发中小型应用程序,那么YII将更适合您。

原始链接:

https://dzone.com/articles/differences-betweew-laravel-and-yii

翻译的介绍

51CTO社区编辑朱利安·陈(Julian Chen)拥有超过十年的IT项目实施经验,擅长控制内部和外部资源和风险,并着重于传播网络安全知识和经验;继续通过博客文章,主题和翻译共享最先进的技术和新知识;通常通过在线和离线方法进行信息安全培训和教学。

今天,由于您的喜好,我充满活力!

app漏洞挖掘之逻辑漏洞_漏洞英文bug_laravel漏洞

本网站每日更新互联网创业教程,一年会员只需98,全站资源免费下载点击查看会员权益

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注