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
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-сервиса.
Смотрите раздел Обработка медленных бизнес-процессов.
Конфигурация файлов представлений
Расширение можно настроить только в опции options файла 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
.