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.