imi简介imi是基于PHP协程应用开发框架,支持HttpApi、WebSocket、TCP、UDP应用开发。Swoole基于Swoole,具有常驻内存、协程非阻塞IO等特性,框架遵循PSR标准规范,提供AOP、注解、连接池、请求上下文管理、ORM模型等通用组件。imi的模型支持关联关系的定义,增删改查!作者介绍余润,江苏无锡人,1994年出生,初中接触易语言,步入代码世界。2013年开发发布YurunPHP框架(不再维护)。2017年开始正式玩git,发布开源项目。开源的东西只有能自己用的时候才做出来。不会为了造轮子而造,一切都是为了实用。2018年接触到Swoole,打开了新世界的大门。原来PHP还能这么玩!2018年4月16日,我写了imi的第一个字节代码。2018年6月21日,第一个公开版本v0.0.1发布。经过一年的实战,v1.0.0版本于2019年6月21日一周年正式发布。雨润的部分开源项目:imi、YurunHttp、YurunOAuthLogin、PaySDK、ChineseUtil我已经通过码云平台尽我所能向Swoole项目捐赠了1111以表达我的心声。核心组件[x]Server(Http/Websocket/Tcp/Udp)[x]Container(PSR-11)[x]Aopinjection[x]Httpmiddleware(PSR-15)[x]MySQLconnectionpool(coroutine&Synchronization,主从,负载均衡)[x]Redis连接池(coroutine&synchronization,负载均衡)[x]Db一致性操作[x]关系数据库模型[x]跨进程共享内存表模型[x]Redis模型[x]日志(PSR-3/文件+控制台)[x]缓存(PSR-16/文件+Redis)[x]验证器(Valitation)[x]任务异步任务[x]进程/进程池[x]命令行开发辅助工具[x]业务代码热更新扩展组件imi-rpcimi-hproseimi-access-controllimi-rate-limitimi-shared-memory开始使用完整开发手册新项目Demo基于imi的项目SixMQ(雨润)慢下来Blog(慢下来)其他项目因工作原因不便透露。据了解,我公司和私人单体项目都在运行imi。Origin&Design&FutureOrigin如前所述,2018年接触了Swoole,打开了新世界的大门。原来PHP还能这么玩!在我看来,最好的学习方法就是使用它。如果没有实际的功能去实现,学了之后很容易忘记,算不上真正学过。之前也有开发雨润PHP框架的经验,所以决定自己搭建一个框架。在设计和开发imi之前,我研究了几个当时比较知名的框架。看到swoft后,最终决定在imi框架中大量使用注解。至于注释的优缺点,百度比我说得好,这里就不复制粘贴了。目前大部分的Swoole框架多是强调微服务,而imi的设计理念确实是:微服务可以有,但不是必须的。我认为大多数开发者所在的公司不需要或者根本不需要微服务。微服务的开发和维护成本会比较高。如果没有一定的规模和业务量,强行微服务,就是本末倒置,给自己带来麻烦。imi目前实现了最基本的imi-rpc组件,支持hprose协议。虽然目前还没有更深入的实现,但这都说明了imi的设计理念。因此,imi目前专注于单体应用开发。在swoole下运行的项目可以比在fpm下有更好的性能,可以承载更多的流量,尤其是在调用大量第三方接口的I/O密集型场景。WebSocket、TCP、UDP协议的开发也是Swoole带来的一大优势。当然,Swoole对于开发中间件也是相当不错的,不能只关注curd。以后imi也会逐步探索和发展微服务,但是现在想做好眼前这个单体应用的开发。联系我们Github反馈:https://github.com/Yurunsoft/...码云仓库:https://gitee.com/yurunsoft/IMISegmentfault问答:https://segmentfault.com/开源中国问答:https://www.oschina.net/questionQQ群交流:17916227欢迎真正喜欢代码,不只是为了工作的朋友加入imi开发团队!
