Руководство по обновлению до версии 1.4
Пожалуйста, выполните резервное копирование до обновления и выполните следующие команды для обновления
composer require workerman/webman-framework ^1.4.7 && composer require webman/console ^1.2.12 && php webman install
Примечание
Если обновление не удается, скорее всего, это связано с использованием прокси composer. Пожалуйста, используйте следующую команду для восстановления использования официального источника данных composer:composer config -g --unset repos.packagist
Особенности и изменения
Плагины приложений
В версии 1.4 поддерживаются плагины приложений. Дополнительную информацию можно найти здесь Плагины приложений
Автоматическая маршрутизация
В версии 1.4 добавлена поддержка различных сложных правил для каталогов контроллеров, например
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
.