imi v1.0 official version, PHP based application development framework coroutine

imi Introduction

imi are based on PHP Association process application development framework that supports HttpApi, WebSocket, TCP, UDP application development.

Powered by providing Swoole, Swoole has a permanent memory, coroutines non-blocking IO and other features.

PSR frame compliance standards, providing the AOP, annotations, connection pooling, managing the request context, the ORM model and other common components.

imi model supports the definition of the relationship, CRUD a shuttle!

about the author

Yu Yun, Wuxi, Jiangsu Province, born in 94 years. Junior own contacts easy language, from this world into the code.

2013 developed and released YurunPHP framework (now defunct maintenance).

2017 began formal play git and publish open source projects, open source can be used to take things that are their own doing, not to create the wheel and made everything for the practical.

2018 contacts Swoole, opened the door to a new world, so original PHP can play!

April 16, 2018, I wrote the first byte of code imi.

June 21, 2018, released the first public version v0.0.1.

After a year of combat, June 21, 2019, the first anniversary of the official release version v1.0.0.

Yu-run part of the open source project: IMI , YurunHttp , YurunOAuthLogin , PaySDK , ChineseUtil

I have passed the code cloud platform, within its capacity to contribute to Swoole 1111 project, high respect.

Core components

  • [x] Server (Http/Websocket/Tcp/Udp)
  • [X] container (PSR-11)
  • [X] Aop injection
  • [X] Http middleware (PSR-15)
  • [X] MySQL connection pool (coroutine & synchronization from the master, the load balancing)
  • [X] Redis connection pool (coroutine & synchronization, load balance)
  • [X] Db coherent operation
  • [X] relational database model
  • [X] inter-process shared memory table model
  • [X] Redis Model
  • [X] log (PSR-3 / File + Console)
  • [X] buffer (PSR-16 / File + Redis)
  • [X] validator (Valitation)
  • [X] Task asynchronous tasks
  • [X] process / process pool
  • [X] command-line development aid
  • [X] updating service code thermal

Extended Components

imi-rpc

I-HRPO

imi-access-control

I-rate-limit

imi-shared-memory

start using

Fully developed manual

New Demo Project

imi-based project

SixMQ  (Yu-run)

Slow blog  (slowly)

Other projects can not be disclosed due to work, my company is known, private single project is running imi.

Origins & Design & future

origin

As mentioned above, I contacted Swoole 2018 years opens the door to a new world, so original PHP can play!

I think the best way to learn, and that is to use, no practical function to achieve, will learn easy to forget, not really learn. Before I also have experience in the development YurunPHP framework, we decided to build a framework for it.

design

Prior to the development imi, several research framework was more famous, after seeing Swoft, finally decided to use a lot of annotations imi framework. As for the advantages and disadvantages of notes, compared to Baidu can speak better than I, there is no longer copy and paste it again.

At present, most Swoole mostly in the framework of the micro-emphasize service, but imi design concept indeed:

Micro service can have, but not necessary

I think most of the developers of the company, do not need, or do not have the necessary micro-services. Micro-service development, maintenance costs will be relatively large, there is no certain size and volume of business, if forced on micro-services will be upside down, give yourself trouble.

imi currently implements most basic imi-rpc components, as well as support the hprose agreement. Although not yet achieved more in-depth, but were indicative of imi design, you can have it seen as not.

So, imi current flagship of the monomer or application development. Project run under Swoole, may be better than the performance in fpm, carry more traffic, especially in a large number of third-party call interface I / O-intensive scenes.

Develop WebSocket, TCP, UDP protocol, and it is a big advantage Swoole brings.

Of course, Swoole used to develop middleware is quite good, not just to look on the curd.

future

imi future will gradually exploration and development services to micro, but now want to do more monomers application development front.

contact us

Github feedback: https://github.com/Yurunsoft/IMI/issues

Cloud Warehouse code: https://gitee.com/yurunsoft/IMI

Open Source China Q: https://www.oschina.net/question

Welcome to really like the code, rather than just as a friend to work, imi join the development team!

Guess you like

Origin www.oschina.net/news/107628/imi-1-0-released