imi コルーチン開発フレームワークは、Swoole に基づく PHP コルーチン開発フレームワークであり、Http、Http2、WebSocket、TCP、UDP、MQTT などの主流プロトコルのサービス開発をサポートしており、特にインターネット マイクロサービス、インスタント メッセージング、IM に適しています。 、モノのインターネットおよびその他のシナリオ。 。
コアコンポーネント:
HttpApi、WebSocket、TCP、UDP、MQTT サーバー
MySQL 接続プール (マスター/スレーブ + ロード バランシング)
Redis 接続プール (マスター/スレーブ + ロード バランシング)
非常に使いやすい ORM (Db、Redis、Tree)
ミリ秒ホットアップデート
AOP
豆コンテナ
キャッシュ
設定の読み書き(Config)
列挙
イベント
ファサード
検証する
ロック
ログ
非同期タスク (タスク)
環境要件:
Redis、MySQL
imi コルーチン開発フレームワークの更新ログ:
v2.0.11
強化する
ホットアップデートは設定ファイルのリロードをサポートします
Server::getConnections()、Server::getConnectionCount()(#203) を追加しました
モデルへのデータの動的書き込みをサポートしますが、toArray() とシリアル化はサポートしません
SQL監視は例外のキャッチをサポートします
Workerman 環境の起動はネットワーク情報の出力をサポートします
with() はプリロード属性を関連付けます
このバージョンでは、モデルに関連付けられたクエリ機能が実装されており、クエリの数を削減し、関連付けられたクエリのパフォーマンスを向上させることができます。
関連するアノテーションで with=true の設定をサポートし、自動プリロードを有効にします。
関連アノテーションでの withFields={"シリアル化されたフィールドの指定"} 設定のサポート
Model::query() の後に with() メソッドを呼び出して、プリロードされた関連属性名を指定できるようになりました。
Model::query() の後の with() メソッドの呼び出しをサポートし、プリロードされた関連属性名に対応するコールバックを指定します。
Model::query() の後に withField() を呼び出して、シリアル化中にクエリ対象のモデルとフィールドを指定できるようになりました。
Model::queryRelationsList() はプリロードされたクエリをサポートします
最適化
開発エクスペリエンスの向上 (#197)
Swoole でのファイル スキャンのパフォーマンスを最適化する
Swoole ショートネームがオフになっているシナリオと互換性があります
AppContexts::APP_PATH が絶対パスとして扱われるように最適化する
JSON エラーによってスローされる例外のフォールト トレランスを最適化する
単体テストの改善 (#202)
HTTP ルーティングを再構築してパフォーマンスを向上させる (#200)
ArrayList タイプが対応しない場合のプロンプトを最適化する
モデルを生成するときに、データの変更を容易にするために、json 型フィールドのゲッター メソッドを参照リターンに設定します。
一部のコードを最適化する
修理
@app.overrideDefaultIgnoreNamespace と @app.overrideDefaultIgnorePaths の設定が有効にならない問題を修正
RequestがsetUri()を実行するとinitUri()がトリガーされてしまう問題を修正
権限コンポーネントをツリー形式に変換する問題を修正 (#201)
SessionId が空の文字列の場合に通常のセッションとして扱われる問題を修正しました
空のSessionJson解析エラーを修正
SwooleRedisServerUtil を修正する
WorkermanUDP がリクエスト コンテキストから packetData を取得できない問題を修正
ManyToMany、PolymorphicToMany、PolymorphicManyToMany アノテーションの指定フィールドパラメータが無効になる問題を修正しました。