IMI 基於 Swoole 開發的協程 PHP 開發框架 常駐內存、協程異步非阻塞

e08f887b5d88d49afbcf054acbc2e728878.jpg

介紹

IMI 是基於 Swoole 開發的協程 PHP 開發框架,擁有常駐內存、協程異步非阻塞IO等優勢。php

IMI 框架文檔豐富,上手容易,致力於讓開發者跟使用傳統 MVC 框架同樣順手。html

IMI 框架底層開發使用了強類型,易維護,性能更強。支持 Aop ,支持使用註解和配置文件注入,徹底遵照 PSR-三、四、七、十一、1五、16 標準規範。git

框架的擴展性強,開發者能夠根據實際需求,自行開發相關驅動進行擴展。不止於框架自己提供的功能和組件!github

咱們認爲一個框架不只須要代碼健壯、簡單易用,文檔也是十分重要,因此文檔的完善是咱們工做的重點,相信一個好的文檔可以讓你事半功倍!redis

歡迎有志之士加入咱們,一塊兒開發完善!技術好的貢獻代碼,文筆好的貢獻文檔,有好的想法也歡迎與咱們交流!數據庫

框架暫未實戰驗證,請無能力閱讀和修改源代碼的開發者,暫時不要用於實際項目開發,等待咱們的實戰檢驗完善,咱們不但願所以爲您形成不便!

官網:https://www.imiphp.com/
文檔手冊:https://doc.imiphp.com/編程

代碼倉庫:
碼雲:https://gitee.com/yurunsoft/IMI
Github:https://github.com/Yurunsoft/IMIjson

空項目:https://gitee.com/yurunsoft/e...
功能Demo:https://gitee.com/yurunsoft/i...緩存

框架目標及計劃

前期,計劃主要完善 HTTP 服務開發,優先實現:常駐內存,避免重複加載帶來的性能損耗,提高海量性能;協程異步,提升對 I/O 密集型場景併發處理能力(如:微信開發、支付、登陸等)。服務器

待 HTTP 服務開發完善後,而後下一步會增長 TCP、UDP、WebSocket 開發支持,最後纔是考慮分佈式、微服務的解決方案。

功能組件

  • [x] Aop (註解 / 配置文件)
  • [x] Container (PSR-11)
  • [x] 註解
  • [x] 全局事件/類事件
  • [x] HttpServer
  • [x] HttpRequest/HttpResponse (PSR-7)
  • [x] Http 中間件、註解路由、配置文件路由 (PSR-15)
  • [x] Session (File + Redis)
  • [x] View (html + json + xml)
  • [x] 日誌 (PSR-3 / File + Console)
  • [x] 緩存 (PSR-16 / File + Redis)
  • [x] Redis 鏈接池
  • [x] 協程 MySQL 鏈接池
  • [x] PDO 鏈接池
  • [ ] 協程 PostgreSQL 鏈接池
  • [x] Db 連貫操做
  • [x] 關係型數據庫 模型 ORM
  • [x] 跨進程共享內存表 模型 ORM
  • [x] Task 異步任務
  • [x] 命令行開發輔助工具
  • [ ] 圖形化管理工具
  • [ ] 項目熱更新
  • [ ] RPC 遠程調用
  • [ ] WebSocket 服務器相關……
  • [ ] TCP 服務器相關……
日誌、緩存都支持:多驅動 + 多實例 + 統一操做入口

全部鏈接池都支持:同步 + 異步 + 多驅動 + 多實例

文檔

徹底開發手冊

QQ羣:74401592 點擊加羣,若有問題會有人解答和修復。

運行環境

  • PHP >= 7.0
  • Composer
  • Swoole >= 2.2.0 (必須啓用協程,如使用 Redis 請開啓)
  • Hiredis (須要在安裝 Swoole 以前裝)

版權信息

IMI 遵循 Apache2 開源協議發佈,並提供無償使用。

鳴謝

感謝如下開源項目 (按字母順序排列) 爲 IMI 提供強力支持!

項目起源

在機緣巧合下,我偶然接觸到了 Swoole 2.x 版本,在簡單瞭解和demo調試後我認爲,Swoole 多是將來 PHP 微服務架構開發必不可少的擴展。

衆所周知,PHP 是被其它語言看不起的宇宙第一編程語言,PHP 僅僅是一個腳本語言,僅僅是一個模版引擎,沒有強類型規範開發,維護很是不便。

PHP 7 來了,強類型的支持加入,加強了 PHP 的可維護性並提高了性能,IMI 底層就使用了很是多的強類型進行開發和規範。

宇潤我在 2013 年開發併發布了第一個框架 YurunPHP,一直維護使用至今,很是穩定,而且有文檔。

我待過的公司有用過這個框架,我仍是很幸運的,有機會在實戰中不斷改進完善框架。

PHP 進入 Swoole 時代,我本着學習 Swoole 而且嘗試可否開發一個基於 Swoole 的框架的想法,接觸瞭解到了 EasySwoole 和 Swoft。

喜聞樂見的是,我先參考了一下這兩個框架的文檔和用法,再簡單看了一下源代碼。我決定仍是先從 Swoole 看起,實戰是最能夠鍛鍊人的。因而我走上了 IMI 開發的不歸路……

相關文章
相關標籤/搜索