
ما هو Swoft؟
Swoft هو إطار PHOTO microservice عالي الأداء. تم نشره لسنوات عديدة وأصبح الخيار الأفضل لـ php. يمكن أن يكون مثل Go ، خادم الويب coroutine المدمج والعميل coroutine المشترك ويقيم في الذاكرة ، مستقلة عن PHP-FPM التقليدية. هناك عمليات مماثلة للغة Go ، مشابهة للشروح المرنة لإطار Spring Cloud.
من خلال ثلاث سنوات من التراكم واستكشاف الاتجاهات ، جعلت Swoft Swoft the Spring Cloud في عالم PHP ، وهو أفضل خيار لإطار PHP عالي الأداء وإدارة الخدمات الصغيرة.
جيثب
https://github.com/swoft-cloud/swoft
Swoft v2.0.7
يواصل Swoft v2.0.7
الإبحار على v2.0.6
وقد تم استخدامه في عدد كبير من عمليات الإنتاج ، والتي تم الاعتراف بها ودعمها من قبل العديد من المستخدمين. حققت النسخة الرسمية الكثير من التحسينات والتحسينات ، مع أداء أفضل.
- مكون وظيفة جلسة Http المضافة ، يوفر إدارة جلسة HTTP ، ويدعم العديد من برامج تشغيل التخزين
- طلب دعم خادم TCP محسّن لإضافة طريقة وسيطة عامة أو مقابلة
- طلب خادم Websocket محسّن طلب دعم لإضافة الوسيطة طريقة عالمية أو مقابلة
جلسة المتشعب
تثبيت مكون swoft / الجلسة مع الملحن
composer require swoft/session
تنفيذ composer require swoft/session
في الدليل حيث يوجد composer.json المشروع.- أضف
Swoft\Http\Session\SessionMiddleware
Middleware إلى الوسيطة العمومية
في app/bean.php
:
'httpDispatcher' => [
يعتمد الإعداد الافتراضي على برامج تشغيل الملفات المحلية ، المحفوظة في دليل runtime/sessions
أكثر على السائق بحاجة فقط لتكوين handler
المقابلة.
على سبيل المثال ، قم بتكوين برنامج التشغيل Redis
:
'sessionHandler' => [ 'class' => RedisHandler::class,
Websocket المراسلة الوسيطة
مكون في app/bean.php
:
'wsMsgDispatcher' => [ 'middlewares' => [ \App\WebSocket\Middleware\GlobalWsMiddleware::class ], ],
class TestController {}
طلب TCP الوسيطة
مكون في app/bean.php
:
'tcpDispatcher' => [ 'middlewares' => [ \App\Tcp\Middleware\GlobalTcpMiddleware::class ], ],
class DemoController {
تحديث السجل
نصائح الترقية:
Swoole\WebSocket\Server::push
تم تغيير المعلمة الرابعة $finish
إلى كتابة int بعد swoole 4.4.12
.TcpServerEvent::CONNECT
معلمة الحدث TcpServerEvent::CONNECT
لخادم tcp هي نفسها كما تلقي وإغلاق. $fd, $server
مواقف تبادل $fd, $server
.
جيثب
https://github.com/swoft-cloud/swoft
ثابت :
- عند تحديد حقن التكوين ، إذا لم يتم العثور على القيمة ، سيتم استخدام القيمة الافتراضية للنوع المقابل لتجاوز السمة ، مما يؤدي إلى الكتابة فوق القيمة الافتراضية للسمة d84d50a7
- تم إصلاحه عند استخدام جدول الرسائل في خادم ws ، لم تتم تصفية أي بيانات فارغة ، مما أدى إلى استجابة واحدة أخرى. تجنب طريقة swoft-cloud / swoft # 1002 [d84d50a7] ( https://github.com/swoft-cloud/swoft-component/ Pull / 522 / commits / d84d50a76c4c7ff19dc0896868745cfe8f0d93c9)
- تم إصلاحه عند استخدام جدولة الرسائل في خادم tcp ، ولم تتم تصفية أي بيانات فارغة ، مما أدى إلى استجابة واحدة أخرى. 07a01ba1
- تم إصلاح تبعيات مكتبة swoft / stdlib المفقودة عند استخدام مكون وحدة التحكم بشكل مستقل c569c81a
- ثابت
ArrayHelper::get
عندما يكون مفتاح الإدخال عددًا صحيحًا ، تكون المعلمة المعلمة غير صحيحة a44dcad - إصلاح تقديم وحدة التحكم باستخدام الجدول ، عند حساب قيمة int ، احسب خطأ نوع تقرير العرض 74a835ab
- خطأ ثابت في المستخدم المكون لا يمكن تخصيص الخطأ الافتراضي معالجة المستوى 4c78aeb
- إصلاح تمكين وتعطيل إعدادات المكونات
isEnable()
لا يعمل da8c51e56 - إصلاحات باستخدام الطريقة
uniqid()
في بيئة cygwin ، يجب تعيين المعلمة الثانية على c7f688f true - ثابت غير قادر على تعيين عنوان العملية في بيئة cygwin ويتسبب في حدوث خطأ c466f6a
- ثابت غير قادر على حذف بيانات ملف تعريف ارتباط المتصفح باستخدام
response->delCookie()
http response->delCookie()
8eb9241 - إرسال رسالة خادم ثابت ws ، ليست بيانات ext المستلمة بالضرورة صفيفًا تسبب خطأ ff45b35
- إصلاح ملف سجل الانقسام حسب الوقت c195413
- إصلاح سجل
JSON
شكل مشكلة صغيرة a3fc6b9 - استدعاء
getList
خدمة موفر getList
مرتين fd03e71 - إصلاح
redis cluster
لا يدعم auth
المعلمة 7a678f - إصلاح نموذج الاستعلام
json
type ، لا يدعم array
6023a9 - عملية redis ثابتة
multi
غير متصلة في الوقت e5f698 - إصلاح redis لا يدعم
expireAt
، geoRadius
749241 - ثابت انحراف الوقت اكتشاف
crontab
مشكلة eb08a46
تحديث (تحديث) :
- تحديث وحدة التحكم أيضا تنبعث من حدث قبل تقديم رسالة المساعدة
ConsoleEvent::SHOW_HELP_BEFORE
d3f7bc3 - تبسيط وتوحيد http ، ws ، tcp ، منطق أمر إدارة خادم rpc f202c826
- قم بتحديث فئتي ws و tcp Connection لإضافة
newFromArray
و toArray
لتسهيل تصدير المعلومات واستعادة الاتصالات عبر تخزين الطرف الثالث ( redis
) [a8b0b7c] ( https://github.com/swoft-cloud/swoft -component / pull / 528 / commits / a8b0b7c77d56d4392eba75d13a911816b9dc0cee) - قم بتحسين الخادم لإضافة معالج حدث رسالة أنابيب swoole موحد ، استخدم حدث swowt في ws ، tcp لمعالجة رسائل interprocess 1c51a8c
تعزيز :
- تطلب الآن tcp دعم إضافة الوسيطة طريقة عالمية أو مقابلة ، وتشبه العملية والاستخدام الوسيطة http. مفيد فقط عند استخدام نظام جدولة 6b593877
- الآن طلب رسالة websocket يدعم إضافة الوسيطة طريقة عالمية أو المقابلة ، وتشبه العملية والاستخدام HTTP الوسيطة. مفيد فقط عند استخدام نظام جدولة 9739815
- تتيح "إدارة الأحداث" إمكانية إعداد
destroyAfterFire
لتنظيف البيانات المنقولة في الحدث بعد إرسال كل حدث 50bf43d3 - استثناء خطأ قاعدة البيانات المضافة
code
إرجاع fd306f4 - تشغيل ملف
writeFile
استثناء فشل الكتابة الجديد 08c4244 - RPC التحقق من المعلمة الجديدة 8646fc5
جيثب
https://github.com/swoft-cloud/swoft