Hướng dẫn nâng cấp 1.4
Trước khi nâng cấp, hãy thực hiện sao lưu và thực hiện lệnh sau để nâng cấp
composer require workerman/webman-framework ^1.4.7 && composer require webman/console ^1.2.12 && php webman install
Lưu ý
Nếu không thể nâng cấp, có thể là do sử dụng proxy của composer, hãy sử dụng lệnh saucomposer config -g --unset repos.packagist
để khôi phục sử dụng nguồn dữ liệu chính thức của composer
Tính năng và thay đổi
Plugin ứng dụng
Phiên bản 1.4 hỗ trợ plugin ứng dụng, vui lòng tham khảo thêm Plugin ứng dụng
Tự động định tuyến
Phiên bản 1.4 hỗ trợ nhiều quy tắc thư mục điều khiển phức tạp, ví dụ như
app
app
├── admin
│ └── v1
│ └── v2
│ └── v3
│ └── controller
│ └── Index.php
└── controller
├── v1
│ └── Index.php
└── v2
└── v3
└── Index.php
Có nghĩa là plugin webman/auto-route
không còn cần thiết nữa
Bật/tắt tái sử dụng bộ điều khiển
Phiên bản 1.4 cho phép tắt tái sử dụng bộ điều khiển, trong config/app.php
hãy thiết lập 'controller_reuse' => false,
như vậy mỗi yêu cầu sẽ khởi tạo một bộ điều khiển mới, nghĩa là mỗi yêu cầu sẽ kích hoạt hàm __construct()
tương ứng của bộ điều khiển, nhà phát triển có thể thực hiện một số công việc khởi tạo trước khi xử lý yêu cầu trong hàm khởi tạo.
Do có thể tắt tái sử dụng bộ điều khiển nên plugin webman/action-hook
cũng không còn cần thiết nữa.
Bật dịch vụ http
Phiên bản 1.4 hỗ trợ mở nhiều cổng cung cấp dịch vụ http.
Xem thêm Xử lý tác vụ chậm
Cấu hình tệp view
Đuôi chỉ có thể được cấu hình trong tùy chọn options của view.php.
Cách sử dụng không còn được hỗ trợ
use support\view\Raw;
return [
'handler' => Raw::class,
'view_suffix' => '.php'
];
Cách sử dụng đúng
use support\view\Raw;
return [
'handler' => Raw::class,
'options' => [
'view_suffix' => '.php'
]
];
Thay đổi không gian tên của driver session
Webman từ phiên bản 1.4.0 đã thay đổi không gian tên của lớp SessionHandler
, từ
use Webman\FileSessionHandler;
use Webman\RedisSessionHandler;
use Webman\RedisClusterSessionHandler;
sang
use Webman\Session\FileSessionHandler;
use Webman\Session\RedisSessionHandler;
use Webman\Session\RedisClusterSessionHandler;
Để tránh việc chương trình gặp lỗi ngay sau khi nâng cấp, lớp Webman\FileSessionHandler
vẫn được giữ lại một thời gian, trong các phiên bản tương lai sẽ được loại bỏ hoàn toàn.
Thay đổi này ảnh hưởng đến cấu hình 'handler'
trong config/session.php
.