Guía de actualización 1.4

Antes de actualizar, asegúrese de hacer una copia de seguridad y ejecute el siguiente comando para actualizar
composer require workerman/webman-framework ^1.4.7 && composer require webman/console ^1.2.12 && php webman install

Nota
Si no puede actualizar, es muy probable que sea porque está utilizando un proxy de composer. Por favor, use el siguiente comando composer config -g --unset repos.packagist para restaurar el uso de la fuente de datos oficial de composer.

Características y cambios

Plugins de aplicación

La versión 1.4 soporta plugins de aplicación, para más información consulte Plugins de aplicación.

Enrutamiento automático

La versión 1.4 soporta diversas reglas complejas de directorios de controladores, por ejemplo:

app
app
├── admin
│   └── v1
│       └── v2
│           └── v3
│               └── controller
│                   └── Index.php
└── controller
    ├── v1
    │   └── Index.php
    └── v2
        └── v3
            └── Index.php

Esto significa que el plugin webman/auto-route ya no es necesario.

Interruptor de reutilización de controladores

La versión 1.4 permite desactivar la reutilización de controladores. En config/app.php, configure 'controller_reuse' => false, de esta manera, cada solicitud inicializará un nuevo controlador. Esto significa que cada solicitud invocará el constructor __construct() del controlador correspondiente, y los desarrolladores pueden realizar algunas tareas de inicialización previas al manejo de solicitudes dentro del constructor.

Debido a que se puede desactivar la reutilización de controladores, el plugin webman/action-hook ya no es necesario.

Activar el servicio HTTP

La versión 1.4 permite habilitar múltiples puertos para proporcionar servicio HTTP.
Consulte Manejo de procesos lentos.

Configuración de archivos de vista

La extensión solo puede configurarse en la opción options de view.php.
Uso no soportado

use support\view\Raw;
return [
    'handler' => Raw::class,
    'view_suffix' => '.php'
];

Uso correcto

use support\view\Raw;
return [
    'handler' => Raw::class,
    'options' => [
        'view_suffix' => '.php'
    ]
];

Cambios en el espacio de nombres del controlador de sesión

A partir de la versión 1.4.0, webman cambió el espacio de nombres de la clase SessionHandler, pasando de:

use Webman\FileSessionHandler;  
use Webman\RedisSessionHandler;  
use Webman\RedisClusterSessionHandler;  

a

use Webman\Session\FileSessionHandler;  
use Webman\Session\RedisSessionHandler;  
use Webman\Session\RedisClusterSessionHandler;

Para evitar que el programa arroje errores directamente después de la actualización, la clase Webman\FileSessionHandler se mantendrá durante un tiempo, pero se eliminará por completo en futuras versiones.

Este cambio afecta la configuración 'handler' en config/session.php.