主要涉及到的框架有

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. 装饰器--decorator1

    装饰器 一.定义 1.装饰器:本质是函数 2.功能:用来装饰其他函数,为其他函数添加附加功能 二.原则 1.不能修改被装饰函数的源代码 2.不能修改被装饰函数的调用方式 三.实现装饰器 1.函数 即 ...

  2. zabbix 邮件配置

    一.系统和版本 操作系统:centos7 zabbix版本: 3.2.5 二.安装sendmail yum -y install sendmail systemctl enable sendmail ...

  3. [LeetCode] Matrix 值修改系列,例题 Surrounded Regions,Set Matrix Zeroes

    引言 Matrix内部的值修改严格来讲放在一个系列里不大合适,因为对于不同的问题,所用的算法和技巧可能完全不同,权且这样归类,以后需要时再拆分吧. 例题 1 Given a 2D board cont ...

  4. gcd的性质+分块 Bzoj 4028

    4028: [HEOI2015]公约数数列 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 865  Solved: 311[Submit][Statu ...

  5. CF760 D Travel Card 简单DP

    link 题意:乘车,有3种票 1.20块坐1站 2.坐90分钟,50块 3.坐1440分钟,120块 现给出到达每个站的时间,问最优策略 思路: 简单DP,限定条件的3个转移方向,取最小的那个就行了 ...

  6. Python学习笔记(九)返回函数

    摘抄:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014318352367 ...

  7. Please move or remove them before you can merge

    在使用git pull时,经常会遇到报错: Please move or remove them before you can merge 这是因为本地有修改,与云端别人提交的修改冲突,又没有merg ...

  8. python初步学习-生成式、生成器、迭代器、装饰器

    生成式 列表生成式 字典生成式 集合生成式 嵌套列表生成式 列表生成式 列表生成式是python受欢迎的语法之一,通过一句简洁的语法就可以对一组元素进行过滤,还可以对得到的元素进行转换处理.语法格式为 ...

  9. Django之动态验证码的生成

    kind.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  10. flask插件系列之SQLAlchemy实用技巧

    下面记录一下SQLAlchemy使用的技巧. 在多模块下定义models 如果由多个蓝图下读定义了model模块,在初始化的时候需要加载到上下文中. 当使用flask_Migrate迁移数据库的时候, ...