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
ด้วย