主要涉及到的框架有

CodeIgniter 老品牌易用性框架
yaf 鸟哥用c写的php扩展,高性能框架
yii 自动生成代码(gii)
laravel 号称最优雅的框架
swoole framework 支持swoole扩展的框架
kohana 脱身与CI 2,基于hmvc模式的框架
thinkphp 国产易用工具
自定义框架(只提供route、autoload、db、redis、mvc、config及其他常见类库封装)

以上框架使用的均为最新版本

评测方式

考虑到公司级别项目开发,需要把框架独立到某目录下,其他项目的入口文件统一读取此目录内的框架资源

controller中再入view并传递title,view中直接echo $title,关闭debug等其他调试开关

siege -c 500 -t 5s  并发500持续5s

php7环境下,2.5GHZi7 16G内存

性能

毫无疑问鸟哥的yaf最高

自定义框架由于极少的代码量,表现也很好,做不得数

其次是rango老大的swoole framework

之后是CI>thinkphp>kohana>yii>laravel

由于我对yii并不熟悉,如有优化点请告知重新进行评测

安装

ci和kohana使用的还是熟悉的安装方式,解压zip,安装使用起来毫无问题

yaf使用phpize安装也毫无难度

关于YII 2,让我惊讶无比,不得不拿出来单独说一下

安装 深深的感觉自己的智商已欠费

1. 官网推荐composer安装一个basic版,由于国内环境,时间过长,附带一堆乱七八糟的东西看着烦
2. 抽出独立的yii-soft失败,提示错误,暂时未找到解决方案(最后发现是layout的问题,已解决)
3. basic版本安装完成后给我看你的那么复杂的欢迎页是几个意思?
4. 我改了controller和view,为什么还被侵入了你的样式(后查推测跟view中的layout目录有关,查文档得知需要手动layout=false)
5. layout关了为什么压测性能下降了那么多

关于框架的思考

通过这些年的工作和项目经验,我认为框架只要提供好几个功能点就足够了

1. autoload
2. dev/pro分离(包括config自动载入不同目录下)
3. mvc(不需要所谓的Smarty等模板引擎,php语法足够优秀易懂)
4. db/redis/orm(ORM可以实现读写分离,锦上添花而已,毕竟有中间层可以更专业的解决这个问题)
5. router

有大神指点,还需要di、面向接口实现类、完整的单元测试

像脚手架一类的东西,真的是框架该做的么?就算提供了,公司级别的项目又是否用得到,是否敢信任框架帮你生成的代码。

基于上述思考,我才自己开发了simple框架(git:https://github.com/bingxuecandong/simple/tree/new_simple 欢迎提供建议及吐槽),提供自己日常编码、项目使用已经足够,开发效率并不低,跟其他主流开源框架一起评测也是聊以慰藉了。

主流PHP框架性能评测 (引用)的更多相关文章

  1. TechEmpower 21轮Web框架 性能评测 -- C# 的性能 和 Rust、C++并驾齐驱

    自从2021年2月第20轮公布的测试以后,一年半后 的2022年7月19日 发布了 TechEmpower 21轮测试报告:Round 21 results - TechEmpower Framewo ...

  2. Mego(1) - NET中主流ORM框架性能对比

    从刚刚开始接触ORM到现在已有超过八年时间,用过了不少ORM框架也了解了不少ORM框架,看过N种关于ORM框架的相关资料与评论,各种言论让人很难选择.在ORM的众多问题中最突出的问题是关于性能方面的问 ...

  3. 开源RPC(gRPC/Thrift)框架性能评测

    海量互联网业务系统只能依赖分布式架构来解决,而分布式开发的基石则是RPC:本文主要针对两个开源的RPC框架(gRPC. Apache Thrift),以及配合GoLang.C++两个开发语言进行性能对 ...

  4. OneAPM大讲堂 | 谁更快?JavaScript 框架性能评测

    文章系国内领先的 ITOM 管理平台供应商 OneAPM 编译呈现. 网页性能是一个丰富且又复杂的话题.在本帖中,我们会将讨论的范围局限在前端 JavaScript 框架上,探究相对于另外一种框架而言 ...

  5. TechEmpower Web 框架性能第19轮测试结果正式发布,ASP.NET Core在主流框架中拔得头筹

    TechEmpower 第19轮编程语言框架性能排行榜2020年5月28日正式发布,详见官方博客:https://www.techempower.com/blog/2020/05/28/framewo ...

  6. EntityFramework、Dapper vs 草根框架性能大比拼,数据库访问哪家强?

    扯淡 当前市面上 ORM 很多,有跑车型的,如 Dapper,有中规中矩型的,如 Mybatis.Net,也有重量型的,如 EntityFramework 和 NHibernate,还有一些出自草根之 ...

  7. EntityFramework、Dapper vs 草根框架性能

    EntityFramework.Dapper vs 草根框架性能 扯淡 当前市面上 ORM 很多,有跑车型的,如 Dapper,有中规中矩型的,如 Mybatis.Net,也有重量型的,如 Entit ...

  8. 几款主流PHP框架的优缺点评比

    PHP是一种在国内外都比较流行的开源服务器端脚本开发语言.能够适应大中小型项目的开发需求.我们将在这篇文章中向大家介绍几款主流PHP框架及其相关优缺点评比,作为一个参考分享给朋友们. 主要参考的PHP ...

  9. C#脚本引擎 CS-Script 之(二)——性能评测

    以下以一个简单的HelloWord程序为例,来分析csscript脚本引擎的性能. class HelloWorld { public void SayHello() { Console.WriteL ...

随机推荐

  1. SQL SERVER2008不在同一局域网内实现订阅发布的方法

    我们知道,在新建订阅的时候,必须要使用实际服务器的真实名称才可以,IP地址,别名都不可以,在同一个局域网内是没有问题的.但是两台服务器不在同一个局域网内就不行了 要想实现订阅和发布,本人用到的最简单的 ...

  2. 解决VS Code编译调试中文输出乱码

    最近尝试用VS Code配置了C和C++的编译调试环境,结果遇到了中文输出乱码问题,查阅网上竟然还没有相关问题,有怀疑是mingw中文支持问题,但最后证明是VS Code编码问题. 解决方案: 文件- ...

  3. VC6完整项目代码升级到VS2010

    VC6完整项目代码升级到VS2010,有需要请联系我,专业C++开发,邮箱153786575@qq.com

  4. [转]标准C++中的string类的用法总结

    原文地址:http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html 相信使用过MFC编程的朋友对CString这个类的印象应该非常 ...

  5. <LC刷题一>相加为0的数之leetcode1&2&15&16

    --题目导航见页面左上角的悬浮框#目录导航#-- 相似题型导航 1.1 twosum两数之和  ||  2.2 3Sum三数之和  ||  2.3 3Sum Closest最接近的三数之和 ----- ...

  6. datagrid导出数据

    //导出excel public function touzi_doExport() { $search=$_POST['search']; //接受前端传过来的数据 $this->succes ...

  7. mysql数据库 批量替换 某字段中的数据

    当数据库出现这种情况: 表名:area id name 1  太仓 2  太仓市 3  太仓市 ... ... 我需要把 name字段中 的太仓市 的“市“去掉 可以使用: update `area` ...

  8. python常用库之base64

    1. 什么是base64 base64是一种将不可见字符转换为可见字符的编码方式. 2. 如何使用 最简单的使用方式 import base64 if __name__ == '__main__': ...

  9. Linux下搜索命令

    linux下用于查找文件的5个命令,有需要的朋友可以参考下.包括find,whereis,locate,which与type. linux下用于查找文件的5个命令,有需要的朋友可以参考下.包括find ...

  10. 宋牧春: Linux设备树文件结构与解析深度分析(1) 【转】

    转自:https://mp.weixin.qq.com/s/OX-aXd5MYlE_YoZ3p32qWA 作者简介 宋牧春,linux内核爱好者,喜欢阅读各种开源代码(uboot.linux.ucos ...