imi is a PHP development framework that supports distributed long-connection microservices. It can run in a variety of container environments such as PHP-FPM
, Swoole
, Workerman
and RoadRunner
.
imi provides a wealth of basic functions: MySQL
, PostgreSQL
, Redis
,超强超好用的自研ORM
,连接池
, Web Api
, Web MVC
, WebSocket
, TCP Server
, UDP Server
, HTTP2
, MQTT
, gRPC
,容器化(Container)
,依赖注入
, Aop
,事件
,异步(Async)
,缓存(Cache)
,命令行(Command)
,配置化(Config)
,上下文(Context)
,定时任务(Cron)
,门面(Facade)
,验证器(Validate)
,锁(Lock)
,日志(Log)
,定时器(Timer)
,权限控制
,消息队列(RabbitMQ、Kafka、Redis)
, Swagger
,宏(Macro)
,限流
,共享内存
, Smarty
,雪花算法发号器(Snowflake)
, Workerman Gateway
, InfluxDB
and TDengine
and other components.
At the same time, imi also provides microservice-related support: Nacos 配置中心
, etcd 配置中心
, Nacos 服务注册
, Nacos 服务发现
, Swoole Tracker
, Zipkin
, Jaeger
, Prometheus
, InfluxDB 服务指标监控
, TDengine 服务指标监控
and负载均衡
and other components .
In addition, imi also provides the management backend development skeleton imi-admin.
Since its first release on June 21, 2018, the imi framework has been running stably in many projects, such as cultural tourism e-commerce platform, IoT charging cloud platform, parking cloud platform, payment microservices, SMS microservices, wallet microservices, Projects such as card game server and data migration service (Hupu).
imi officially provides an AI assistant imi-ai, which can help you solve problems whether it is work, life, or study.
For those who have sponsored on the imi official website, please contact Yurun with the payment record voucher to receive the equivalent activation card number!
Anyone who has submitted a PR on imi Github/Gitee can contact Yurun with the screenshot to receive a certain amount of activation card number!
It is currently operated purely for public welfare, and registration will give you a certain free quota.
Since there is a cost for calling the OpenAI interface, if the quota is used up, everyone is welcome to support the open source cause. The price is the same as the official OpenAI, 1RMB=72,000 Tokens.
imi 2.0 basic video tutorial (free series in progress):
https://space.bilibili.com/768718/channel/seriesdetail?sid=274078 https://www.zhihu.com/people/yurunsoft/zvideos
imi 1.0 framework introductory tutorial (free 11 episodes) https://www.bilibili.com/video/av78158909
imi framework advanced tutorial - backgammon game development (free 7 episodes) https://space.bilibili.com/768718/channel/detail?cid=136926
Permission control (phpben/imi-auth)
Registration center (phpben/imi-config-center)
Modular routing (phpben/imi-module-route)
ThinkPHP6 validator (phpben/imi-validate)
Backend management framework (phpben/imi-admin)
Create Http Server project: composer create-project imiphp/project-http:~3.0.0
Create a WebSocket Server project: composer create-project imiphp/project-websocket:~3.0.0
Create a TCP Server project: composer create-project imiphp/project-tcp:~3.0.0
Create UDP Server project: composer create-project imiphp/project-udp:~3.0.0
Create a gRPC project: composer create-project imiphp/project-grpc:~3.0.0
Create an MQTT Server project: composer create-project imiphp/project-mqtt:~3.0.0
Complete development manual
Linux system (Swoole does not support running on Windows)
PHP >= 8.1
Composer >= 2.0
Swoole >= 5.0
Redis, PDO extension
It is recommended to use Swoole official Docker: https://github.com/swoole/docker-swoole
Whether you are developing using imi in a personal or company project, whether it is an open source or commercial project, you can submit your case to us.
We will review the case you submitted and may display it on the imi official website, Swoole official website, etc., which will help promote and develop your project.
Submission format:
Project name
Project introduction
Project address (official website/download address/Github, etc. at least one item)
Contact information (phone/email/QQ/WeChat, etc. at least one)
Project screenshots (optional)
Remarks
Success case: https://www.imiphp.com/case.html
imi will develop better with your cases. Qualified users are welcome to post project cases, which is also a kind of free publicity!
imi is released under the Mulan PSL v2 open source license and is free for use.
Thanks to the following open source projects (in alphabetical order) for providing strong support for imi!
doctrine/annotations (PHP annotation processing library)
PHP (Without PHP, there would be no imi)
Swoole (Without Swoole, there would be no imi)
Do you want to be listed as a contributor?
Things you can do (including but not limited to the following):
Correct spelling and typos
Improve comments
bug fix
Feature development
Documentation
Tutorials, blog sharing
Submit Pull Request
to this repository and you can become a contributor to imi!
For details on participating in the framework development tutorial: https://doc.imiphp.com/v3.0/adv/devp.html