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.