开源中国 2018 年度最后一场技术盛会邀你来约~错过就要等明年啦!点此立即预约

萌魅儿 / IMIPHPApache-2.0

Watch 1 Star 0 Fork 22
forked from 宇润 / IMI 
加入码云
与超过 300 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
基于 Swoole 开发的协程 PHP 开发框架,常驻内存、协程异步,致力于丰富框架文档,上手容易,让开发者跟使用传统 MVC 框架一样顺手。 展开 收起

https://www.imiphp.com/

Loading...
README.md

imi

Latest Version Travis Php Version Swoole Version Hiredis Version IMI Doc Backers on Open Collective Sponsors on Open Collective 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 提供强力支持!

寻找有缘人

想要加入我们吗?开源项目不能只靠一两个人,而是要靠大家的努力来完善~

我们需要你的加入,你可以做的事(包括但不限于以下):

最新代码以 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 开发的不归路……

Contributors

This project exists thanks to all the people who contribute.

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

项目点评 ( 0 )

你可以在登录后,发表评论

搜索帮助