IMI 是基于 Swoole 开发的协程 PHP 开发框架,完美支持 Http、WebSocket、TCP、UDP 开发,拥有常驻内存、协程异步非阻塞IO等优点。
IMI 框架文档丰富,上手容易,致力于让开发者跟使用传统 MVC 框架一样顺手。
IMI 框架底层开发使用了强类型,易维护,性能更强。支持 Aop ,支持使用注解和配置文件注入,完全遵守 PSR-3、4、7、11、15、16 标准规范。
框架的扩展性强,开发者可以根据实际需求,自行开发相关驱动进行扩展。不止于框架本身提供的功能和组件!
框架暂未实战验证,请无能力阅读和修改源代码的开发者,暂时不要用于实际项目开发,等待我们的实战检验完善,我们不希望因此为您造成不便!
- Server (Http/Websocket/Tcp/Udp)
- 容器 (PSR-11)
- Aop 注入
- Http 中间件 (PSR-15)
- MySQL 连接池 (协程&同步,主从,负载均衡)
- Redis 连接池 (协程&同步,负载均衡)
- Db 连贯操作
- 关系型数据库 模型
- 跨进程共享内存表 模型
- Redis 模型
- 日志 (PSR-3 / File + Console)
- 缓存 (PSR-16 / File + Redis)
- 验证器 (Valitation)
- Task 异步任务
- 进程/进程池
- 命令行开发辅助工具
- 业务代码热更新
日志、缓存都支持:多驱动 + 多实例 + 统一操作入口
所有连接池都支持:同步 + 异步 + 多驱动 + 多实例
IMI 遵循 Apache2 开源协议发布,并提供免费使用。
感谢以下开源项目 (按字母顺序排列) 为 IMI 提供强力支持!
- doctrine/annotations (PHP 注解处理类库)
- PHP (没有 PHP 就没有 IMI)
- swoft/swoole-ide-helper (为 IDE 提供代码提示)
- Swoole (没有 Swoole 就没有 IMI)
想要加入我们吗?开源项目不能只靠一两个人,而是要靠大家的努力来完善~
我们需要你的加入,你可以做的事(包括但不限于以下):
- 纠正拼写、错别字
- 完善注释
- bug修复
- 功能开发
- 文档编写(https://github.com/Yurunsoft/imidoc)
- 教程、博客分享
最新代码以
dev
分支为准,提交PR
也请合并至dev
分支!
在机缘巧合下,我偶然接触到了 Swoole 2.x 版本,在简单了解和demo调试后我认为,Swoole 可能是未来 PHP 微服务架构开发必不可少的扩展。
众所周知,PHP 是被其它语言看不起的宇宙第一编程语言,PHP 仅仅是一个脚本语言,仅仅是一个模版引擎,没有强类型规范开发,维护非常不便。
PHP 7 来了,强类型的支持加入,增强了 PHP 的可维护性并提升了性能,IMI 底层就使用了非常多的强类型进行开发和规范。
宇润我在 2013 年开发并发布了第一个框架 YurunPHP,一直维护使用至今,非常稳定,并且有文档。
我待过的公司有用过这个框架,我还是很幸运的,有机会在实战中不断改进完善框架。
PHP 进入 Swoole 时代,我本着学习 Swoole 并且尝试能否开发一个基于 Swoole 的框架的想法,接触了解到了 EasySwoole 和 Swoft。
喜闻乐见的是,我先参考了一下这两个框架的文档和用法,再简单看了一下源代码。我决定还是先从 Swoole 看起,实战是最可以锻炼人的。于是我走上了 IMI 开发的不归路……
This project exists thanks to all the people who contribute.
Thank you to all our backers! 🙏 [Become a backer]
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]
开源不求盈利,多少都是心意,生活不易,随缘随缘……