إطار تطوير imi coroutine هو إطار تطوير PHP coroutine يعتمد على Swoole، وهو يدعم تطوير خدمة البروتوكولات السائدة مثل Http وHttp2 وWebSocket وTCP وUDP وMQTT، وهو مناسب بشكل خاص لخدمات الإنترنت الصغيرة والمراسلة الفورية والمراسلات الفورية وإنترنت الأشياء وسيناريوهات أخرى! .
المكونات الأساسية:
خادم HttpApi، WebSocket، TCP، UDP، MQTT
تجمع اتصال MySQL (الرئيسي والتابع + موازنة التحميل)
تجمع اتصال Redis (الرئيسي والتابع + موازنة التحميل)
ORM سهل الاستخدام للغاية (Db، Redis، Tree)
التحديث الساخن ميلي ثانية
AOP
حاوية الفول
مخبأ
تكوين القراءة والكتابة (التكوين)
تعداد
حدث
الواجهة
التحقق من صحة
قفل
سجل
المهام غير المتزامنة (المهمة)
المتطلبات البيئية:
ريديس، ماي إس كيو إل
سجل تحديث إطار تطوير imi coroutine:
v2.0.11
يحسن
يدعم التحديث الساخن إعادة تحميل ملفات التكوين
تمت إضافة Server::getConnections(), Server::getConnectionCount()(#203)
يدعم كتابة البيانات ديناميكيًا في النموذج، لكنه لا يدعم toArray() والتسلسل
تدعم مراقبة SQL التقاط الاستثناءات
يدعم بدء تشغيل بيئة العامل إخراج معلومات الشبكة
with() يربط سمات التحميل المسبق
ينفذ هذا الإصدار نموذج الاستعلام المرتبط بالميزة، والذي يمكن أن يقلل عدد الاستعلامات ويحسن أداء الاستعلامات المرتبطة.
دعم الإعداد مع = صحيح في التعليقات التوضيحية المرتبطة لتمكين التحميل المسبق التلقائي
دعم الإعداد مع الحقول = {"تحديد الحقول المتسلسلة"} في التعليقات التوضيحية المرتبطة
دعم استدعاء الأسلوب with() بعد Model::query() لتحديد اسم السمة المرتبطة المحملة مسبقًا
يدعم استدعاء الأسلوب with() بعد Model::query() لتحديد رد الاتصال المطابق لاسم السمة المرتبطة المحملة مسبقًا.
دعم الاتصال معField() بعد Model::query() لتحديد النموذج والحقول التي تم الاستعلام عنها أثناء التسلسل
يدعم Model::queryRelationsList() الاستعلامات المحملة مسبقًا
تحسين
تحسين تجربة التطوير (#197)
تحسين أداء فحص الملفات ضمن Swoole
متوافق مع السيناريوهات التي يتم فيها إيقاف تشغيل اسم Swoole المختصر
قم بتحسين AppContexts::APP_PATH ليتم التعامل معه كمسار مطلق
تحسين التسامح مع الخطأ للاستثناءات التي تطرحها أخطاء json
تحسينات اختبار الوحدة (#202)
إعادة بناء توجيه HTTP لتحسين الأداء (#200)
قم بتحسين المطالبة عندما لا يتوافق نوع ArrayList
عند إنشاء نموذج، قم بتعيين طريقة getter لحقل نوع json على إرجاع مرجعي لتسهيل تعديل البيانات.
تحسين بعض التعليمات البرمجية
بصلح
أصلح مشكلة عدم تفعيل تكوينات @app.overrideDefaultIgnoreNamespace و@app.overrideDefaultIgnorePaths
تم إصلاح مشكلة تشغيل initUri() عند تنفيذ الطلب setUri()
إصلاح مشكلة تحويل مكونات الأذونات إلى شكل شجرة (#201)
تم إصلاح مشكلة معاملة SessionId كجلسة عادية عندما تكون سلسلة فارغة
إصلاح فشل تحليل SessionJson الفارغ
إصلاح SwooleRedisServerUtil
إصلاح WorkermanUDP لا يمكنه الحصول على بيانات الحزمة من سياق الطلب
تم إصلاح مشكلة عدم صلاحية معلمات الحقول المحددة للتعليقات التوضيحية ManyToMany وPolymorphicToMany وPolymorphicManyToMany.