Skip to content
/ imi Public
forked from imiphp/imi

imi 是基于 PHP 协程应用开发框架,它支持 HttpApi、WebSocket、TCP、UDP 应用开发。QQ群:17916227

License

Notifications You must be signed in to change notification settings

ynphp/imi

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

imi

Latest Version Travis Php Version Swoole Version imi Doc imi License

介绍

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

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

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

imi 框架交流群:17916227 点击加群

从秃头到满头秀发的 imi 框架教程,全集免费观看👉https://www.bilibili.com/video/av78158909

每周四晚上更新至少一集,欢迎素质四连(点赞、收藏、投币、关注~)

核心组件

  • HttpApi、WebSocket、TCP、UDP 服务器
  • MySQL 连接池 (主从+负载均衡)
  • Redis 连接池 (主从+负载均衡)
  • 超好用的 ORM (Db、Redis、Tree)
  • 毫秒级热更新
  • AOP
  • Bean 容器
  • 缓存 (Cache)
  • 配置读写 (Config)
  • 枚举 (Enum)
  • 事件 (Event)
  • 门面 (Facade)
  • 验证器 (Validate)
  • 锁 (Lock)
  • 日志 (Log)
  • 异步任务 (Task)

扩展组件

开始使用

创建 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

完全开发手册

运行环境

  • Linux 系统 (Swoole 不支持在 Windows 上运行)
  • PHP >= 7.1
  • Composer
  • Swoole >= 4.3.0
  • Redis、PDO 扩展

Docker

推荐使用 Swoole 官方 Docker:https://github.com/swoole/docker-swoole

版权信息

imi 遵循 木兰宽松许可证(Mulan PSL v1) 开源协议发布,并提供免费使用。

鸣谢

感谢以下开源项目 (按字母顺序排列) 为 imi 提供强力支持!

贡献者

你想出现在贡献者列表中吗?

你可以做的事(包括但不限于以下):

最新代码以 dev 分支为准,提交 PR 也请合并至 dev 分支!

提交 Pull Request 到本仓库,你就有机会成为 imi 的作者之一!

关于测试脚本

环境要求

Redis、MySQL

首次运行测试

  • 创建 db_imi_test 数据库,将 tests/db/db.sql 导入到数据库

  • 配置系统环境变量,如果默认值跟你的一样就无需配置了

名称 描述 默认值
MYSQL_SERVER_HOST MySQL 主机名 127.0.0.1
MYSQL_SERVER_PORT MySQL 端口 3306
MYSQL_SERVER_USERNAME MySQL 用户名 root
MYSQL_SERVER_PASSWORD MySQL 密码 root
REDIS_SERVER_HOST Redis 主机名 127.0.0.1
REDIS_SERVER_PORT Redis 端口 6379
REDIS_SERVER_PASSWORD Redis 密码
REDIS_CACHE_DB Redis 缓存用的 db,该 db 会被清空数据,请慎重设置 1

配置命令:export NAME=VALUE

  • 首次运行测试脚本:composer install-test

  • 首次之后再运行测试的命令:composer test

捐赠

开源不求盈利,多少都是心意,生活不易,随缘随缘……

About

imi 是基于 PHP 协程应用开发框架,它支持 HttpApi、WebSocket、TCP、UDP 应用开发。QQ群:17916227

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 99.4%
  • Other 0.6%