Coder Social home page Coder Social logo

eleventrue / mixphp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mix-php/mix

0.0 0.0 0.0 817 KB

轻量 PHP 框架,基于 Swoole 的常驻内存型 PHP 高性能框架 (开发文档完善)

Home Page: http://mixphp.cn

License: GNU General Public License v2.0

PHP 99.41% Shell 0.59%

mixphp's Introduction


MixPHP

高性能 • 轻量级 • 命令行

MixPHP 是什么

MixPHP 秉承 "普及 PHP 常驻内存型解决方案,促进 PHP 往更后端发展" 的理念而创造,采用 Swoole 扩展作为底层引擎,围绕常驻内存的方式而设计,提供了 Web / Console 开发所需的众多开箱即用的组件,MixPHP 追求简单、实用主义,试图让更多开发者以更低的学习成本享受到 Swoole 带来的高性能与全新的编程体验。

与传统 MVC 框架比较

MixPHP 与传统 PHP 的 Web 框架非常不同,可以不需要 Web 服务器(Apache/PHP-FPM),框架自带基于 SwooleServer 开发的 mix-httpd 高性能 HTTP 服务器,传统的 PHP 应用程序中脚本结束后,所有的对象在请求后都将销毁,而 mix-httpd 不同,框架组件对象常驻于内存,减少对象反复创建销毁的性能损失,具有传统框架无法比拟的性能优势。

MixPHP 参考了 Yii2 框架的组件设计**,又舍弃了 Yii2 与前端强耦合的缺点,使得整个框架如同 CodeIgniter 一样小巧别致,MixPHP 同时拥有 Yii2 的架构**、Swoole 的高性能与更后端开发能力。

与其他基于 Swoole 的框架比较

现有 Swoole 开发框架大致分为两类:

  • 基础封装类型:入门成本低,缺少传统框架那些众多开箱即用的组件。
  • 全异步、服务化、分布式类型:入门成本高,适合集群部署提供各种服务接口,当然也缺少传统框架那些众多开箱即用的组件,因为这类框架更偏向数据层,并不是用来写网页的。

MixPHP 则处于以上两种类型中间的位置,入门成本低,又像传统框架一样拥有众多开箱即用的组件,即适合写接口,又适合做网页。

核心特征

  • 高性能:极简架构 + Swoole引擎,超过 Phalcon 这类 C 扩展框架的性能;
  • 服务器:框架自带 mix-httpd 替代 Apache/PHP-FPM 作为高性能 HTTP 服务器;
  • 组件:基于组件的框架结构,并集成了大量开箱即用的组件;
  • 自动加载:遵循 PSR-4,使用 Composer 构建;
  • 模块化:支持 Composer ,可以很方便的使用第三方库;
  • 路由:底层全正则实现,性能高,配置简单;
  • 模型:模型集成了使用简单但功能强大的验证器,支持多场景控制;
  • 视图:使用 PHP 做模板引擎,支持布局、属性;
  • 长连接:按进程保持的长连接,支持 Mysql/Redis;
  • 命令行:封装了命令行开发基础设施,可快速开发定时任务、守护进程;
  • 多进程:简易的多进程开发方式,充分利用多核性能,可处理大量数据;
  • WebSocket:具备长连接开发能力,扩展了 PHP 开发领域;

性能测试

MixPHP 并发性能全面对比测试

开发文档

MixPHP开发指南:http://doc.mixphp.cn

环境要求

  • PHP >= 5.4
  • Swoole >= 1.9.5

快速开始

一键下载

$> php -r "copy('https://raw.githubusercontent.com/mixstart/mixphp/master/download.php', 'download.php');include 'download.php';"

输出如下:

download mixphp zip ... ok
unzip ... ok
clean temp files ... ok
Successful download to "/data/mixphp-master"

入口文件安装至:/usr/local/bin

$> cd /data/mixphp-master
$> chmod 777 install.sh
$> ./install.sh

接下来启动 mix-httpd 服务器

$> mix-httpd service/start -d

如果一切顺利,运行到最后你将看到如下的输出:

                           _____
_______ ___ _____ ___ _____  / /_  ____
__/ __ `__ \/ /\ \/ / / __ \/ __ \/ __ \
_/ / / / / / / /\ \/ / /_/ / / / / /_/ /
/_/ /_/ /_/_/ /_/\_\/ .___/_/ /_/ .___/
                   /_/         /_/

[2017-11-20 14:41:32] Server    Name: mix-httpd
[2017-11-20 14:41:32] PHP    Version: 5.4.45
[2017-11-20 14:41:32] Swoole Version: 1.9.21
[2017-11-20 14:41:32] Listen    Addr: 127.0.0.1
[2017-11-20 14:41:32] Listen    Port: 9501

访问测试:

$> curl http://127.0.0.1:9501/
Hello World

下载

MixPHP 发行版本

技术交流

作者微博:http://weibo.com/onanying ,关注最新进展
官方QQ群:284806582,敲门暗号:phper

License

GNU General Public License, version 2 see https://www.gnu.org/licenses/gpl-2.0.html

mixphp's People

Contributors

onanying avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.