Руководство по обновлению до версии 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.