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框架与其他框架的详细对比就是小编分享给大家的全部内容了,希望能给大家一个参考。
- Gulp 工作流中Sass 增量编译功能的探索
- Sass与Compass——回顾
- 苹果就“降速门”致歉;央行批扫码支付不正当竞争;王健林旗下公司遭集体裁员
- 姚期智教授:量子计算是千亿万亿级别的产业,或成为科技创新的引擎
- Powershell中禁止执行脚本解决办法
- 使用AsyncTask异步更新UI界面及原理分析
- 商家为何要做小程序?
- Android中关于dip和px以及转换的总结
- Python介绍
- python案例-用户登录
- 推荐个找代码示例的VS 插件 All-In-One Code Framework Sample Browser
- 明星推出定制AI形象,虚拟形象有何优势
- apache工作模式梳理
- Mysql的二进制日志binlog的模式说明
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- 学习Python你必须了解的lenna小姐姐
- 10行python代码制作笑死人不偿命的倒放gif
- “Hello Node.js” 这一次是你没见过的写法
- 作为DBA,你不得不掌握的压测工具
- Mac之vim普通命令使用
- selenium库的基本使用
- 高效大数据开发之 bitmap 思想的应用
- 从0到1实现一个虚拟DOM
- Xenomai XDDP example and Posix Compling
- 项目实践|基于Flink的用户行为日志分析系统
- 手把手教你用Matplotlib画一个小清新配色的商业图表
- 高并发场景下锁的使用技巧
- Struts2第四天:Struts2的拦截器和标签库
- kubernete编排技术八:使用operator管理有状态应用
- Spring第一天:Spring的概述、SpringIOC入门(XML)、Spring的Bean管理、Spring属性注入