Mix PHP 是什么
一个基于 Swoole 开发的高性能 PHP 框架,通过两年发展收获了不少中小型团队的支持,框架版本经历了:php
V1.*
: 基于 Swoole 的常驻内存型 PHP 高性能框架V2.0
: 基于 Swoole 的 FastCGI、常驻内存、协程三模 PHP 高性能框架V2.1
: 基于 Swoole 4.4+ 单线程协程 PHP 框架 🆕
更新
本次 v2.1 重构版本主要修改了框架核心封装部分,而功能库如:Database/Redis/Auth 等库使用方式只是微调,大体重构内容以下:git
- 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 同样处理数据的并发安全。github
框架很是轻量灵活,现有组件所有基于 PSR 标准实现,都可独立使用,严格来说 Mix 其实只封装了 mix/console
命令行开发组件,其余所有为选装。安全
框架集成了众多开箱即用的组件,方便快速开发,且所有与 Golang 使用风格很是相似。服务器
咱们的开发文档多是全部框架中最详细的,源码自带 Demo,稍微修改一下便可使用。并发
全面采用 Swoole 原生协程与最新的 PHP Stream 一键协程化技术。composer
采用和 Golang 相似的高度灵活的开发方式,框架只提供底层库,而与具体功能相关的代码都在项目库中实现,用户能更加细粒度的修改每一处细节。框架
开发文档
MixPHP开发指南:性能