Guía de actualización 1.4
Realice una copia de seguridad antes de la actualización, 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 probable que esté utilizando un proxy de composer. Utilice 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 admite plugins de aplicación, para obtener más información, consulte Plugins de Aplicación
Enrutamiento automático
La versión 1.4 admite varias reglas de directorios de controladores complejos, 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 controlador
La versión 1.4 permite desactivar la reutilización del controlador. En config/app.php
, configure 'controller_reuse' => false,
. De esta manera, cada solicitud inicializará un nuevo controlador, es decir, cada solicitud activará el constructor __construct()
del controlador correspondiente. Los desarrolladores pueden realizar alguna inicialización antes del manejo de cada solicitud en el constructor.
Debido a la posibilidad de deshabilitar la reutilización del controlador, el plugin webman/action-hook
ya no es necesario.
Iniciar servicio http
La versión 1.4 admite la apertura de varios puertos para el servicio http. Consulte Manejo de tareas lentas
Configuración de archivos de vista
Ahora, el sufijo solo se puede configurar en la opción options
de view.php.
Uso ya no compatible
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 de la sesión
A partir de la versión 1.4.0, webman ha cambiado el espacio de nombres para la clase SessionHandler
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 genere errores directamente después de la actualización, la clase Webman\FileSessionHandler
se mantendrá durante un tiempo y se eliminará por completo en futuras versiones.
Este cambio afecta la configuración 'handler'
de config/session.php
.