1.4 دليل الترقية
يرجى عمل نسخة احتياطية قبل الترقية، وتنفيذ الأوامر التالية للترقية
composer require workerman/webman-framework ^1.4.7 && composer require webman/console ^1.2.12 && php webman install
تنبيه
إذا لم تتمكن من الترقية، فمن المحتمل أنك تستخدم وكيل Composer، يرجى استخدام الأمر التاليcomposer config -g --unset repos.packagist
للعودة لاستخدام مصدر بيانات Composer الرسمي
ميزات ووظائف جديدة
مكونات التطبيق
يدعم الإصدار 1.4 مكونات التطبيق، لمزيد من المعلومات، يرجى مراجعة مكونات التطبيق
التوجيه التلقائي
يدعم الإصدار 1.4 قواعد دليل وحدة التحكم المعقدة المتنوعة، على سبيل المثال
app
app
├── admin
│ └── v1
│ └── v2
│ └── v3
│ └── controller
│ └── Index.php
└── controller
├── v1
│ └── Index.php
└── v2
└── v3
└── Index.php
هذا يعني أن مكون webman/auto-route
لم يعد مطلوبًا.
مفتاح إعادة استخدام وحدة التحكم
يسمح الإصدار 1.4 بإيقاف تشغيل إعادة استخدام وحدة التحكم، عن طريق تعيين 'controller_reuse' => false,
في config/app.php
، مما يعني أن كل طلب سيقوم بتهيئة وحدة تحكم جديدة، وهذا يعني أن كل طلب سيؤدي إلى تشغيل دالة __construct()
الخاصة بوحدة التحكم المعنية، يمكن للمطورين في دالة البناء تنفيذ بعض المهام الأولية قبل معالجة الطلب.
نظرًا لأنه يمكن إيقاف تشغيل إعادة استخدام وحدة التحكم، فإن مكون webman/action-hook
لم يعد مطلوبًا.
تفعيل خدمة http
يدعم الإصدار 1.4 تشغيل عدة منافذ لتقديم خدمة http.
يرجى مراجعة معالجة الأعمال البطيئة
إعدادات ملف العرض
يمكن تكوين الامتداد فقط في خيارات view.php.
الاستخدامات غير المدعومة
use support\view\Raw;
return [
'handler' => Raw::class,
'view_suffix' => '.php'
];
الاستخدام الصحيح
use support\view\Raw;
return [
'handler' => Raw::class,
'options' => [
'view_suffix' => '.php'
]
];
تغيير مساحة الاسم لمشغل الجلسة
ابتداءً من 1.4.0، غيرت Webman مساحة الاسم الخاصة بفئة SessionHandler
، من
use Webman\FileSessionHandler;
use Webman\RedisSessionHandler;
use Webman\RedisClusterSessionHandler;
إلى
use Webman\Session\FileSessionHandler;
use Webman\Session\RedisSessionHandler;
use Webman\Session\RedisClusterSessionHandler;
لتجنب ظهور أخطاء مباشرة بعد الترقية، لا تزال فئة Webman\FileSessionHandler
محفوظة لفترة من الوقت، وسيتم إزالتها بالكامل في الإصدارات المستقبلية.
تؤثر هذه التغييرات على إعداد 'handler'
في config/session.php
.