1.4 ขั้นตอนการอัปเกรด

ก่อนอัปเกรด กรุณาสำรองข้อมูล และทำการอัปเกรดโดยใช้คำสั่งต่อไปนี้
composer require workerman/webman-framework ^1.4.7 && composer require webman/console ^1.2.12 && php webman install

โปรดทราบ
หากไม่สามารถทำการอัปเกรด นั้นอาจเป็นเพราะว่าคุณใช้พร็อกซีบางรายการ โปรดใช้คำสั่งต่อไปนี้ 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 อนุญาตให้ปิดการใช้งานคอนโทรลเลอร์ โดยกำหนดใน config/app.php ว่า 'controller_reuse' => false, ดังนั้นทุกคำขอจะทำให้คอนโทรลเลอร์ใหม่ถูกเริ่มต้นอีกครั้ง ก็คือ ทุกคำขอจะทำให้ฟังก์ชั่น __construct() ของคอนโทรลเลอร์ที่เกี่ยวข้องถูกเรียก นักพัฒนาสามารถทำการเตรียมการก่อนการดำเนินการของคำขอทุกคำขอในฟังก์ชั่น __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'
    ]
];

เปลี่ยนชื่อเนมสเปซของ session ไดรเวอร์

เริ่มตั้งแต่ webman เวอร์ชัน 1.4.0 ได้เปลี่ยนชื่อเนมสเปซของคลาส 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 ด้วย