皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

Swoole 开发框架 imi v1.1.0 发布,重磅引入 Partial 概念

Swoole 开发框架 imi v1.1.0 发布,重磅引入 Partial 概念

imi 是基于 PHP Swoole 的高性能协程应用开发框架,它支持 HttpApi、WebSocket、TCP、UDP 服务的开发。

在 Swoole 的加持下,相比 php-fpm 请求响应能力,I/O密集型场景处理能力,有着本质上的提升。

imi 框架拥有丰富的功能组件,可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。

首创毫秒级的注解及代码热更新重启,让你在开发时只管一把梭,体验与 fpm 下开发并无二致,保存就刷新,立马看到效果。

与其他专注微服务领域的 Swoole 框架不同,imi 专注单体应用开发。原因很简单:大部分公司都不需要上微服务,单体应用足矣。

官方网站:https://www.imiphp.com/

码云:https://gitee.com/yurunsoft/IMI

Github:https://github.com/Yurunsoft/imi

imi 框架第一个版本 v0.0.1 首发于 2018 年 6 月 21 日

国际惯例

这两周依然远程办公,忙于各种项目。这周更新的 Partial 很强大实用,可以看下的。

免费视频教程

【宇润】基于 PHP + Swoole 的 imi 框架新手入门课程 | 每周五更新 | 从秃头到满头秀发,让你有更多时间上班划水,脱单不再是梦

戳我免费看从秃头到满头秀发的 imi 框架教程:https://www.bilibili.com/video/av78158909 (已更新到第九集《模型和ORM》)

更新日志

Partial

imi 的 Partial 思想是从 C# 中借鉴而来。Partial 可以将一个类的部分,分成几个文件,分别书写。

截止目前最新的 PHP 7.4 版本,还未在语言层面上支持 Partial 特性。

但依赖于 imi 强大的容器对象,终于在 PHP 中实现了 Partial 特性。

使用非常简单,使用 trait 编写,加上 @Partial 注解,可以方便地注入。

Partial 使用场景

  • 多人协作开发,修改同一个类文件难免有冲突。如果事先定义好接口,将不同方法分配给几个人开发,每个人只需要在自己的文件中编写,不用担心冲突问题。
  • 类的方法特别多,并且无法很好地拆分。这时候分到几个文件中,会相对比较好维护一些。
  • 有一些类是通过工具生成的,如果我们在类里编写了自己的代码,又需要重新工具生成一些内容,这时候会覆盖我们编写的代码。使用 Partial 在另一个文件开发,不会被覆盖掉。

在 Partial 概念引入 imi 框架前,imi 的模型生成工具将生成代码放在父类,用户在子类中编写代码。

增强

  • 新增 Partial 概念 (文档)
  • 树形模型新增支持注解设定主键字段 (文档)

优化

  • 优化 Redis 连接池资源类
  • 优化 Redis 连接池密码判断,现在为空字符串时,不会尝试密码登录
  • 优化树形模型代码
  • 优化热更新进程逻辑

修复

  • 修复 Inotify 热更新目录不存在报错问题

开始使用

创建 Http Server 项目:composer create-project imiphp/project-http

创建 WebSocket Server 项目:composer create-project imiphp/project-websocket

创建 TCP Server 项目:composer create-project imiphp/project-tcp

创建 UDP Server 项目:composer create-project imiphp/project-udp

完全开发手册:https://doc.imiphp.com/

imi 组件库:https://github.com/imiphp

imi 官方指定 Http 客户端(替代 Curl):https://github.com/yurunsoft/yurunhttp

欢迎各路新人和大佬的加入贡献代码的行列中,修正错别字、错误拼写、提交代码,我们全都欢迎~

转自 https://www.oschina.net/news/113696/imi-1-1-0-released