V0.0.9 Updated content:

Feature:

  • Adaption supports Swoole 4.1.0 one-key coprogramming

  • Added process pool support

  • When a new model is created, the directory will be automatically created if it does not exist

  • New ProcessManager: : runWithManager method, can be in IMI. The SERVERS. The CREATE. AFTER the event

  • New Result->getSql() and Result->getStatement() methods

  • Added re-seeding random numbers during initialization of Manager, Worker, and Process processes

  • For CoroutineChannelManager: : pop () method to increase the $timeout parameter

  • Added custom process initialization connection pool

  • New use of file locks to implement process unique instance limits

Optimization:

  • Optimized Redis initialization judgment logic for ConnectContext and Group

  • The hot update process is now bound to the Manager process

  • Optimized model generation view, default first field primary key

  • Synchronous pools are compatible with swoole 4.0.3 and above

  • Optimize error tracking accuracy

  • In the model, the database bit field is treated as bool

  • Optimize the null value determination logic when saving the model

  • Adjust WorkerStart processing

  • Adjust enumeration file, class file cache directory methods

  • The optimization model supports two named fields when updating data

  • The data is converted into an array when the optimization model is updated

  • Tweaks and optimizes the argument handling logic when BeanFactory instantiates a class

  • Modify the hot update process startup text

  • Tweaked: Scan item classes in imi.inited event, hot restart only works for server classes

  • Encapsulate extract gets the IMI command-line method

  • Optimizes Result->get() and Result->getArray() to return null if data does not exist

  • Added hot update process startup prompt

  • Extract and encapsulate Bean class cache-related methods

Fixed:

  • Fixed hot update crash that could occur under Swoole <= 4.0.4

  • Fix database connection configuration problem, use username to specify username

  • Fix ManagerStop event triggering failure

  • Repair CoroutineChannelManager: : stats () method

  • Fix ConnectContext Redis storage read issue

  • Fixed a bug where model generator nullable was negated

  • Fixed not importing namespace

  • Fixed an issue with where conditions in the model

  • Fixed kv storage problems

  • Fix cache initialization errors

  • Fixed model updates with undesired fields

The abolition of the:

  • Removed the log autosave mechanism, logs are now passed to the processor in real time

  • Added support for {errorFile}, {errorLine}

introduce

IMI is a coroutine PHP development framework based on Swoole, which perfectly supports Http, WebSocket, TCP, UDP development, and has the advantages of resident memory, coroutine asynchronous non-blocking IO and so on.

The IMI framework is well documented, easy to get started with, and aims to make it as comfortable for developers as it is for traditional MVC frameworks.

IMI framework uses strong type, easy maintenance, stronger performance. Support for Aop, annotation and configuration file injection, and full compliance with the PSR-3, 4, 7, 11, 15, 16 standard specifications.

The framework has strong expansibility, and developers can develop related drivers to expand according to actual requirements. Beyond the functionality and components provided by the framework itself!

Official website: www.imiphp.com/ Documentation manual: doc.imiphp.com/

Code repository: code cloud: gitee.com/yurunsoft/I… Github:github.com/Yurunsoft/I…

Empty project: gitee.com/yurunsoft/e… Demo: gitee.com/yurunsoft/i…

Search is predestined friends the human

I hope that in the future, Phper will be able to use PHP with confidence and not be refactored out by other languages later in the project’s maturity.

An open source project can’t be built by just one or two people.

We need you to join us in order to improve:

  • Contribute code (BUG fixes, new feature development…)

  • Rich documentation (documentation is very important)

  • Tutorials, blog sharing