我为什么要开发一个 MixPHP 框架

最近业余时间一直在开发ExpressPHP的第二个版本 MixPHP,今天下班想起之前一个面试官的问题:你为什么还要再造一个轮子呢?仔细回想,第一个版本,现在想来确实 “炫技” 的成份比较多,现在推翻第一版,又重构一个所谓的 “高性能PHP框架” ,这东西又不赚钱,我到底为了啥?其实,写程序和写诗有很多相似之处,同样需要优雅的语法,好作品也同样想要有更多的人欣赏,感性完了,接下来理性的分析一下。

国内常用的框架

国内较流行的 PHP 框架,参考Lagou等招聘网中的招聘信息与众多同事口口相传。

框架 特点 流行度 更加适合
ThinkPHP 易上手,文档友好、过度封装 超高 网页
Yii 安全性高、规范、性能稍差 网页
Codeigniter 简单、高效、文档友好 网页&API
Yaf/Phalcon C扩展,高性能 一般 API

后端开发业务场景

通常后端开发有以下这些场景:

  • 网页/后台管理开发
  • API开发
  • TCP服务器开发
  • UDP服务器开发
  • 异步队列消费者开发
  • 定时任务开发

采用多种技术,复杂度、成本必然更高

因为不同场景的诉求不同,所以很多公司采用多种框架来开发,APP的API采用Yaf/Phalcon,后台管理采用Yii、ThinkPHP、Codeigniter,TCP/UDP服务器又采用Java/C++来写,一个后端开发就需招聘擅长不同框架不同语言的程序员来开发。

现有 MVC 框架的弱项

在网页/后台管理/API开发方面,流行的各种PHP框架一直都很擅长,可是在控制台程序开发方面:

  • HTTP/TCP/UDP服务器开发:还未有流行的PHP框架封装。
  • 异步队列消费者开发:只提供了CLI模式下运行控制器方法,并未提供主进程多子进程的进程模型,并未提供多线程处理。
  • 定时任务开发:还需依赖第三方工具crontab等,PHP框架本身不能实现。

PHP 框架开发效率与性能不可兼得

Yaf/Phalcon这样C扩展框架,如果开发业务十分复杂的后台与网页,开发效率不高,中小企业开发效率才是生存王道,而开发效率高的ThinkPHP、Yii、Codeigniter开发API性能又差了点,当然性能可以从架构上着手,但是如果高性能与开发效率可以兼得,岂不更好。

MixPHP 试图解决这些

  • 高性能与开发效率兼得:参考Yii、ThinkPHP、Codeigniter提高开发效率的特性,编写全部面向对象的MVC框架,使其同时支持LNMP架构与Swoole应用服务器,需要开发效率时采用LNMP传统架构,需要高性能API时,修改少量代码,即可切换为Swoole应用服务器,把框架类库预加载至内存,数据库按进程长连接,可达到Yaf/Phalcon的性能。
  • 多线程异步队列服务:只需写好控制器方法,然后在配置文件中配置下路由命名空间、进程、线程数量,就可在CLI模式中启动多进程多线程模型的异步队列处理程序。
  • 定时任务服务:只需写好控制器方法,然后配置下路由命名空间、定时循环条件,就可在CLI模式中启动动态多进程模型的定时任务处理程序。
  • TCP/UDP服务:一步步来,后续版本再考虑加入。

结尾

许愿:希望以后所有后端开发,如用PHP,就用一个框架可好?

PHP是最好的语言

GitHub

支持的用户请加个 Star 吧,让更多人发现 MixPHP。
https://github.com/mixstart/mixphp

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,496评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,407评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,632评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,180评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,198评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,165评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,052评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,910评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,324评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,542评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,711评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,424评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,017评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,668评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,823评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,722评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,611评论 2 353

推荐阅读更多精彩内容