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 comandocomposer 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
.