zoukankan      html  css  js  c++  java
  • 主流PHP框架性能评测 (引用)

    主要涉及到的框架有

    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 欢迎提供建议及吐槽),提供自己日常编码、项目使用已经足够,开发效率并不低,跟其他主流开源框架一起评测也是聊以慰藉了。

    框架性能及易用性评测.001框架性能及易用性评测.002框架性能及易用性评测.003框架性能及易用性评测.004框架性能及易用性评测.005框架性能及易用性评测.006框架性能及易用性评测.007框架性能及易用性评测.008框架性能及易用性评测.009框架性能及易用性评测.010框架性能及易用性评测.011

  • 相关阅读:
    面向接口编程详解(二)——编程实例
    面向接口编程详解(一)——思想基础
    设计模式之面向接口编程
    EF数据注解
    很多人不知道可以使用这种 key 的方式来对 Vue 组件时行重新渲染
    这是最新的一波Vue实战技巧,不用则已,一用惊人
    Node.js 进阶-你应该知道的 npm 知识都在这
    Vue响应式原理
    eslint规则
    简述vue-cli中chainWebpack的使用方法
  • 原文地址:https://www.cnblogs.com/chinalorin/p/5825049.html
Copyright © 2011-2022 走看看