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


Posted in PHP onOctober 23, 2019

优点:

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框架与其他框架的详细对比就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP读取MySQL数据代码
Jun 05 PHP
PHP写入WRITE编码为UTF8的文件的实现代码
Jul 07 PHP
PHP HTML JavaScript MySQL代码如何互相传值的方法分享
Sep 30 PHP
Zend的Registry机制的使用说明
May 02 PHP
php生成短网址示例
May 05 PHP
ThinkPHP的L方法使用简介
Jun 18 PHP
PHP处理Json字符串解码返回NULL的解决方法
Sep 01 PHP
php删除数组中重复元素的方法
Dec 22 PHP
CodeIgniter针对数据库的连接、配置及使用方法
Mar 03 PHP
PHP中如何防止外部恶意提交调用ajax接口
Apr 11 PHP
PHP对象相关知识总结
Apr 09 PHP
使用php自动备份数据库表的实现方法
Jul 28 PHP
laravel清除视图缓存的代码
Oct 23 #PHP
PHP实现简单用户登录界面
Oct 23 #PHP
laravel Task Scheduling(任务调度)在windows下的使用详解
Oct 22 #PHP
laravel 解决crontab不执行的问题
Oct 22 #PHP
laravel 解决paginate查询多个字段报错的问题
Oct 22 #PHP
在Laravel 中实现是否关注的示例
Oct 22 #PHP
Laravel 错误提示本地化的实现
Oct 22 #PHP
You might like
PHP开发中四种查询返回结果分析
2011/01/02 PHP
PHP删除数组中空值的方法介绍
2014/04/14 PHP
大家在抢红包,程序员在研究红包算法
2015/08/31 PHP
PHP实现下载远程图片保存到本地的方法
2017/06/19 PHP
PHP迭代器和生成器用法实例分析
2019/09/28 PHP
php进程(线程)通信基础之System V共享内存简单实例分析
2019/11/09 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
javascript getElementsByClassName函数
2010/04/01 Javascript
基于jQuery的history历史记录插件
2010/12/11 Javascript
面向对象的Javascript之三(封装和信息隐藏)
2012/01/27 Javascript
将光标定位于输入框最右侧实现代码
2012/12/04 Javascript
js 操作符汇总
2014/11/08 Javascript
浅谈DOCTYPE对$(window).height()取值的影响
2016/07/21 Javascript
jquery判断对象是否为空并遍历对象的简单实例
2016/07/26 Javascript
AngularJS 单元测试(一)详解
2016/09/21 Javascript
jQuery Ajax File Upload实例源码
2016/12/12 Javascript
JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
2017/01/05 Javascript
js鼠标跟随运动效果
2017/03/11 Javascript
JS实现无缝循环marquee滚动效果
2017/05/22 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
2017/08/16 Javascript
微信小程序wepy框架学习和使用心得详解
2019/05/24 Javascript
如何搭建一个完整的Vue3.0+ts的项目步骤
2020/10/18 Javascript
[01:04:35]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第一场
2018/04/04 DOTA
python操作MySQL数据库的方法分享
2012/05/29 Python
Python中使用装饰器来优化尾递归的示例
2016/06/18 Python
PyQt5每天必学之切换按钮
2020/08/20 Python
python实现图片上添加图片
2019/11/26 Python
python输出第n个默尼森数的实现示例
2020/03/08 Python
Python如何急速下载第三方库详解
2020/11/02 Python
用canvas实现图片滤镜效果附演示
2013/11/05 HTML / CSS
餐厅采购员岗位职责
2014/03/06 职场文书
党员四风自我剖析材料思想汇报
2014/09/13 职场文书
导游词之南京夫子庙
2019/12/09 职场文书
教你用eclipse连接mysql数据库
2021/04/22 MySQL
vue实现列表垂直无缝滚动
2022/04/08 Vue.js
服务器nginx权限被拒绝解决案例
2022/09/23 Servers