Mix PHP V2.1 发布,基于 Swoole 4.4+ 单线程协程 PHP 框架

aside section ._1OhGeD · · 510 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

MixPHP 是什么

一个基于 Swoole 开发的高性能 PHP 框架,经过两年发展收获了很多中小型团队的支持,框架版本经历了:

  • V1.*: 基于 Swoole 的常驻内存型 PHP 高性能框架
  • V2.0: 基于 Swoole 的 FastCGI、常驻内存、协程三模 PHP 高性能框架
  • V2.1: 基于 Swoole 4.4+ 单线程协程 PHP 框架 ????

更新

本次 v2.1 重构版本主要修改了框架核心封装部分,而功能库如:Database/Redis/Auth 等库使用方式只是微调,大致重构内容如下:

  • mix-php/mix 库修改为子模块的方式包含框架所有库,require mix/mix 时该库会替换 composer 上的同名库,用户提交 PR 时只需修改该库提交,贡献将出现在 mix-php/mix。
  • 从之前的多进程模型全部修改为基于 Swoole\Coroutine\Server 开发的单进程模型,完全协程化。
  • 移除了之前的协程组件自动隔离容器、 App 容器的封装概念,修改为类 Golang 风格的直接使用协程 Server 的开发方式,将之前的库封装代码移动到骨架代码中,让用户能更加细粒度的修改每一处细节。
  • 所有 composer 依赖库从 25 个缩减到 20 个,全部独立化,无强依赖,支持 8 种 PSR 规范。
  • 强化了 Bean 依赖注入功能,移除了之前的全局组件的概念,用 Bean 的 SINGLETON 取代。
  • 增加 mix/event 库引入事件机制。

与其他基于 Swoole 的框架比较

服务器全部基于 Swoole\Coroutine\Server 开发,线程模型与 Node.js 一样为单进程单线程模型 (现有其他 Swoole 框架基本都是多进程模型),组件封装风格参考 Golang,这样既拥有 Golang 的 CSP 并发模型,又无需像 Golang 一样处理数据的并发安全。

框架非常轻量灵活,现有组件全部基于 PSR 标准实现,均可独立使用,严格来讲 Mix 其实只封装了 mix/console 命令行开发组件,其他全部为选装。

框架集成了众多开箱即用的组件,方便快速开发,且全部与 Golang 使用风格非常类似。

我们的开发文档可能是所有框架中最详细的,源码自带 Demo,稍微修改一下即可使用。

全面采用 Swoole 原生协程与最新的 PHP Stream 一键协程化技术。

采用和 Golang 类似的高度灵活的开发方式,框架只提供底层库,而与具体功能相关的代码都在项目库中实现,用户能更加细粒度的修改每一处细节。

开发文档

MixPHP开发指南:

Github


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:aside section ._1OhGeD

查看原文:Mix PHP V2.1 发布,基于 Swoole 4.4+ 单线程协程 PHP 框架

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

510 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传