دليل الترقية 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
├── admin
│   └── v1
│       └── v2
│           └── v3
│               └── controller
│                   └── Index.php
└── controller
    ├── v1
    │   └── Index.php
    └── v2
        └── v3
            └── Index.php

أي أن إضافة webman/auto-route لم تعد ضرورية

تبديل إعادة استخدام المتحكم

يُسمح في الإصدار 1.4 بإيقاف إعادة استخدام المتحكم. يُمكن تعيينه في config/app.php بالشكل التالي 'controller_reuse' => false، وهذا يعني أن كل طلب سيبدأ تهيئة متحكم جديد، وبمعنى آخر، سيتم تفعيل دالة __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.