laravel框架与其他框架的详细对比

优点:

1、代码比较明白易懂,跟英语句子差不多,关键词就是函数,举个例子,获取数据库中某个表的所有数据:

$article=new Article;
$articles=$article->all(); //这样就得到了articles表所有记录的所有字段;
$count = $article->where('class_id','=', 1)->count(); //是不是一看就明白了意思?查找分类id为1的记录,并计算出个数。

这样的例子太多,举例就举这两个。

2、文档非常丰富,社区也是非常活跃,现在全球范围内占有率最高,基本上所有的问题都可以找到答案;

3、大量的第三方开源库(composer收录的超过5500个包),可以快速方便的实现模块功能,第三方优秀的包官方都有详细使用手册。例如:laravel/collective

4、安全机制非常齐全,提交表单的数据验证(验证有差不多80种,能想到的基本都有),提交数据时产生随机_token验证,避免非法提交,能避免跨域攻击;

5、中间件和路由,对访问进行过滤及控制,调用函数类和方法前进行判断请求的合法性,避免非法请求;

6、错误处理机制简单好用,如果出错直接调用$error->all(),即可输出全部错误,对表单验证尤其好用;

缺点:

1、稍复杂,上手比一般框架要慢;

2、大量引用第三方包,但我们只使用类中的部分方法,代码显得有些冗余;

3、性能与一般框架稍有优势,但比yaf等小型框架效率会低一些。

总结:

laravel是一款年轻型的框架,使用人数全球第一,文档齐全,大量第三方优秀包供引用,适合大型网站协同开发。关于性能问题,说一下我自己的看法,PHP开发的Web系统的瓶颈一般都不在语言本身的执行层面,语言执行的耗时,只占据了整个系统的1%不到,主要耗时是在网络通信上。源生PHP和框架下PHP的效率对比,只能说使用场合不一样。源生PHP输出hello world比用框架快几百倍,但框架不是用来写hello word的。徒手打蚊子肯定比高射炮效率高几百上千倍,但高射炮是用来打蚊子的吗?

以上这篇laravel框架与其他框架的详细对比就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 浅谈laravel框架与thinkPHP框架的区别

    主要区别:(thinkPHP更适合国人的编码习惯) 1.渲染模版方式的不同: 在Laravel框架里,使用return view()来渲染模版; 而ThinkPHP里则使用了$this->display()的方式渲染模版; 2.在Laravel框架里,由于其考虑到了跨站请求伪造, 所以如果使用form表单以post方式进行传值时,如果不再form表单中加入{{csrf_field()}}则会报出TokenMethodnotfound的语法错误; 而TP框架则需要自己手动完成防止跨站攻击的代码;

  • laravel框架与其他框架的详细对比

    优点: 1.代码比较明白易懂,跟英语句子差不多,关键词就是函数,举个例子,获取数据库中某个表的所有数据: $article=new Article; $articles=$article->all(); //这样就得到了articles表所有记录的所有字段: $count = $article->where('class_id','=', 1)->count(); //是不是一看就明白了意思?查找分类id为1的记录,并计算出个数. 这样的例子太多,举例就举这两个. 2.文档非常丰富,社区

  • SpringSecurity框架简介及与shiro特点对比

    目录 一.SpringSecurity框架简介 二.比较一下shiro与SpringSecurity 2.1.用户量 2.2.使用的方便程度 2.3.社区支持 2.4.功能丰富性 三.总结 一. SpringSecurity 框架简介 官网:https://spring.io/projects/spring-security Spring Security 是强大的,且容易定制的,基于Spring开发的实现认证登录与资源授权的应用安全框架. SpringSecurity 的核心功能: Authe

  • python开发实例之Python的Twisted框架中Deferred对象的详细用法与实例

    Deferred对象在Twsited框架中用于处理回调,这对于依靠异步的Twisted来说十分重要,接下来我们就以实例解析Python的Twisted框架中Deferred对象的用法 Deferred对象结构 Deferred由一系列成对的回调链组成,每一对都包含一个用于处理成功的回调(callbacks)和一个用于处理错误的回调(errbacks).初始状态下,deffereds将由两个空回调链组成.在向其中添加回调时将总是成对添加.当异步处理中的结果返回时,Deferred将会启动并以添加时

  • php7和php5的详细对比

    PHP7 PHP7正式发布到现在已经一年半了,刚出道就号称比旧版本快了几倍,各种开源框架或系统运行在PHP7上速度效率提高了几倍,反正不管是媒体还是开发者都在煽风点火,不,应该是赞不绝口. 一般手机系统升级我是跑最后的,因为不愿意踩坑,毕竟iOS和Android这种系统都会出现bug,何况世界上被人黑的最多的语言. 今日时机已到,看看PHP7有没有传说的那么王炸. 安装两个PHP版本 http://php.net/ 已经有最新PHP7的最新版本,大家可自行下载. 为了测试PHP5和PHP7(PH

  • 详细对比Ember.js和Vue.js

    目录 概述 为什么要选择框架? Vue.js Ember.js Ember.js Vue.js对比 总结 概述 JavaScript最初是为Web应用程序创建的.但是随着前端技术的发展,大多数开发人员更喜欢使用基于JavaScript的框架.它简化了你的代码以及使你能完成更多全栈工作,您几乎可以在任何框架中使用JavaScript. 使用什么类型的框架决定了创建应用程序的便捷程度.因此,您必须慎重选择.在已经足够复杂的前端环境里,其中两个框架脱颖而出.我们会在本文中对Ember.js和Vue.j

  • vue框架和react框架的区别以及各自的应用场景使用

    目录 一.框架简介 二.相同点 三.区别 四.适用场景 使用Vue的场景 使用React的场景 五.总结 Vue的优势包括 React的优势包括 一.框架简介 React主张是函数式编程的理念, 实现了前端界面的高性能高效率开发,react很擅长处理组件化的页面.React的官方网站提到了“学习一次,随处写作”这个关键功能,可以使用React框架在JavaScript中构建移动应用程序.在 React 中,所有的组件的渲染功能都依靠 JSX,它是JavaScript的语法扩展,它在创建UI组件和

  • javascript框架设计之框架分类及主要功能

    从内部架构和理念划分,目前JavaScript框架可以划分为5类. 第一种是以命名空间为导向的类库或框架,如果创建一个数组用new Array(),生成一个对象用new Object(),完全的java风格,因此,我们以某一对象为跟,不断为它添加对象和二级对象属性来组织代码,如金字塔般垒起来,早期代表YUI,EXT(so,不是有活力的公司都还用它们) 第二种是以类工厂为导向的框架.著名的有Prototype,还有mootools.Base2.Ten,它们基本上除了最基本的命名空间,其它模块都是一

  • PHP扩展框架之Yaf框架的安装与使用

    安装 windows下载扩展:https://pecl.php.net/package/yaf/2.2.9/windows 根据自己的电脑系统和php的版本号选择,NTS是线程不安全,TS是线程安全 根据phpinfo(),选择是否是线程安全 把php_yaf.dll扩展放到ext目录下 重启apache 使用 新建目录public,新建文件index.php入口文件 <?php define("APP_PATH", realpath(dirname(__FILE__) . '/

  • Python Web框架之Django框架Form组件用法详解

    本文实例讲述了Python Web框架之Django框架Form组件用法.分享给大家供大家参考,具体如下: Form简介 在HTTP中,表单(form标签),是用来提交数据的,其action属性说明了其传输数据的方法:如何传.如何接收. 访问网站时,表单可以实现客户端与服务器之间的通信.例如查询,就用到了表单(其属性中,action=get). 再比如说注册与登陆,也是要用到表单的.但这里由于涉及到隐私问题,需要保证数据传输的安全性,因此其传输方法就应当使用post而非get. 总之,对客户端来

随机推荐