1 Star 0 Fork 117

obing / IMI

forked from 宇润 / imi 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 5.28 KB
一键复制 编辑 原始数据 按行查看 历史
宇润 提交于 2018-08-06 14:43 . 更新说明

imi

Latest Version Travis Php Version Swoole Version Hiredis Version IMI Doc IMI License

介绍

IMI 是基于 Swoole 开发的协程 PHP 开发框架,完美支持 Http、WebSocket、TCP、UDP 开发,拥有常驻内存、协程异步非阻塞IO等优点。

IMI 框架文档丰富,上手容易,致力于让开发者跟使用传统 MVC 框架一样顺手。

IMI 框架底层开发使用了强类型,易维护,性能更强。支持 Aop ,支持使用注解和配置文件注入,完全遵守 PSR-3、4、7、11、15、16 标准规范。

框架的扩展性强,开发者可以根据实际需求,自行开发相关驱动进行扩展。不止于框架本身提供的功能和组件!

框架暂未实战验证,请无能力阅读和修改源代码的开发者,暂时不要用于实际项目开发,等待我们的实战检验完善,我们不希望因此为您造成不便!

功能组件

  • Aop (注解 / 配置文件)
  • Container (PSR-11)
  • 注解
  • 全局事件/类事件
  • HttpServer
  • HttpRequest/HttpResponse (PSR-7)
  • Http 中间件、注解路由、配置文件路由 (PSR-15)
  • Session (File + Redis)
  • View (html + json + xml)
  • 日志 (PSR-3 / File + Console)
  • 缓存 (PSR-16 / File + Redis)
  • Redis 连接池
  • 协程 MySQL 连接池
  • PDO 连接池
  • 协程 PostgreSQL 连接池
  • Db 连贯操作
  • 关系型数据库 模型 ORM
  • 跨进程共享内存表 模型 ORM
  • Redis 模型 ORM
  • Task 异步任务
  • 命令行开发辅助工具
  • 图形化管理工具
  • 业务代码热更新
  • RPC 远程调用
  • WebSocket 服务开发
  • TCP 服务开发
  • UDP 服务开发

日志、缓存都支持:多驱动 + 多实例 + 统一操作入口

所有连接池都支持:同步 + 异步 + 多驱动 + 多实例

文档

完全开发手册

QQ群:17916227 点击加群,如有问题会有人解答和修复。

运行环境

  • PHP >= 7.1
  • Composer
  • Swoole >= 4.0.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 开发的不归路……

寻有缘人

我希望在以后,phper 能够自信地用着 php,不至于在项目成熟的后期被其他语言重构掉。

一个开源项目不能仅靠一个两个人,需要大家一起来完善壮大。

我们需要你的加入,以便完善:

  • 贡献代码(BUG修复、新功能开发……)
  • 丰富文档(文档非常重要)
  • 教程、博客分享
PHP
1
https://gitee.com/obing/IMI.git
git@gitee.com:obing/IMI.git
obing
IMI
IMI
master

搜索帮助