MixPHP:基於 Swoole 的常駐記憶體型 PHP 框架

細変發表於2019-02-16

MixPHP是什麼

MixPHP 是秉承 “普及 PHP 常駐記憶體型解決方案,促進 PHP 往更後端發展” 的理念而創造,採用 Swoole 擴充套件作為底層引擎,圍繞常駐記憶體的方式而設計,架構簡潔而有擴充套件性,開發可以很靈活,提供了 Web 開發所需的眾多核心元件,MixPHP 參考了 Yii2 框架的設計思想,如果你使用過 Yii2 基本上可以立即上手。

框架最新原始碼行數:5497 行,因此可以很容易的改造它,成為你們公司的專屬框架。

與其他框架的比較

MixPHP 與傳統 PHP 的 Web 框架非常不同,MixPHP 可以不需要 Web 伺服器(Apache/PHP-FPM),框架自帶 MixHttpd 高效能HTTP伺服器,傳統的 PHP 應用程式中指令碼結束後,所有的物件在請求後都將銷燬,而 MixHttpd 不同,框架元件物件常駐於記憶體,減少物件反覆建立銷燬的效能損失,具有傳統框架無法比擬的效能優勢。

MixPHP 也不同於其他基於 Swoole 的微服務框架,只聚焦於微服務治理,MixPHP 定位於 Web 開發的更多領域,覆蓋從初創到億元級體量的技術訴求。

MixPHP 更像是傳統 Web 框架的 次世代 版本,擁有更高的效能又保留了快速開發的能力,還能完成傳統框架不能想象或者很難實現的功能。

MixPHP 併發效能全面對比測試

適用場景

追求快速開發,對效能有更高的訴求,有更後端的開發需求。

  • 需求以 API / 後臺管理 為主,H5 頁為輔。
  • 需要 定時任務 / 守護程式 等後端處理開發。
  • 需要 TCP / WebSocket 等網路服務開發。

核心特徵

  • 高效能:極簡架構+Swoole引擎,超過 Phalcon 這類C擴充套件框架的效能;
  • 長連線:按程式保持的長連線,支援 Mysql/Redis;
  • 伺服器:框架自帶 MixHttpd 替代 Apache/PHP-FPM 作為高效能HTTP伺服器;
  • 元件:基於元件的框架結構,可通用的 Web 程式設計框架;
  • 自動載入:完全使用 Composer,統一且高效;
  • 路由:底層全正則實現,效能高,配置簡單;
  • 模型:模型整合了使用簡單但功能強大的驗證器,支援多場景控制;
  • 查詢構造器:獨創的 SQL 構造方法,可靈活優雅的構造複雜語句;
  • 檢視:使用 PHP 做模板引擎,支援佈局、屬性;

文件

MixPHP開發指南:http://doc.mixphp.cn

環境要求

  • PHP >= 5.4
  • Swoole >= 1.7.18
  • Composer

快速開始

一鍵安裝

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

輸出如下:

download mixphp zip ... ok
unzip ... ok
clean temp files ... ok
Successfully installed in "/data/mixphp-master"

接下來啟動mixhttpd伺服器

$> cd /data/mixphp-master/server/mixhttpd/
$> php mixhttpd service/start

如果一切順利,執行到最後你將看到如下的輸出:

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

[2017-09-28 20:59:29] Server    Name: mixhttpd
[2017-09-28 20:59:29] PHP    Version: 5.4.45
[2017-09-28 20:59:29] Swoole Version: 1.9.21
[2017-09-28 20:59:29] Listen    Addr: 127.0.0.1
[2017-09-28 20:59:29] Listen    Port: 9501

訪問測試:

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

GitHub

支援的使用者請加個Star吧,讓更多人發現MixPHP。

https://github.com/mixstart/m…

官網

http://mixphp.cn

技術交流

官方QQ群:284806582,敲門暗號:phper
作者微博:http://weibo.com/onanying ,關注最新進展

授權

開源專案的可持續發展離不開資金,MixPHP 希望能通過授權來獲得維持專案執行的資金。
MixPHP 的授權全靠使用者自願購買,詳情:http://mixphp.cn/wiki/licence

相關文章