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