Guide de mise à niveau 1.4
Avant la mise à niveau, veuillez sauvegarder vos données et exécuter la commande suivante pour mettre à niveau
composer require workerman/webman-framework ^1.4.7 && composer require webman/console ^1.2.12 && php webman install
Attention
Si la mise à niveau échoue, cela peut être dû à l'utilisation d'un proxy Composer. Veuillez exécuter la commande suivantecomposer config -g --unset repos.packagist
pour revenir à la source de données officielle de Composer.
Fonctionnalités et changements
Plugins d'application
La version 1.4 prend en charge les plugins d'application. Pour plus d'informations, consultez Plugins d'application.
Route automatique
La version 1.4 prend en charge diverses règles complexes pour les répertoires de contrôleurs, par exemple :
app
app
├── admin
│ └── v1
│ └── v2
│ └── v3
│ └── controller
│ └── Index.php
└── controller
├── v1
│ └── Index.php
└── v2
└── v3
└── Index.php
Cela signifie que le plugin webman/auto-route
n'est plus nécessaire.
Commutateur de réutilisation de contrôleur
La version 1.4 permet de désactiver la réutilisation des contrôleurs. Dans config/app.php
, définissez 'controller_reuse' => false,
. Ainsi, chaque requête initialise un nouveau contrôleur, ce qui signifie que chaque requête déclenche le constructeur __construct()
du contrôleur correspondant. Les développeurs peuvent effectuer certaines initialisations avant le traitement des requêtes dans le constructeur.
Comme la réutilisation des contrôleurs peut être désactivée, le plugin webman/action-hook
n'est plus nécessaire.
Activer le service HTTP
La version 1.4 prend en charge l'activation de plusieurs ports pour fournir le service HTTP.
Voir Traitement de tâches lentes.
Configuration des fichiers de vue
Les extensions ne peuvent être configurées que dans l'option options de view.php.
Utilisation non prise en charge
use support\view\Raw;
return [
'handler' => Raw::class,
'view_suffix' => '.php'
];
Utilisation correcte
use support\view\Raw;
return [
'handler' => Raw::class,
'options' => [
'view_suffix' => '.php'
]
];
Changement de l'espace de noms du moteur de session
À partir de la version 1.4.0, Webman a modifié l'espace de noms de la classe SessionHandler
, de l'ancienne manière :
use Webman\FileSessionHandler;
use Webman\RedisSessionHandler;
use Webman\RedisClusterSessionHandler;
à
use Webman\Session\FileSessionHandler;
use Webman\Session\RedisSessionHandler;
use Webman\Session\RedisClusterSessionHandler;
Pour éviter des erreurs de programme après la mise à niveau, la classe Webman\FileSessionHandler
sera maintenue pendant un certain temps, mais sera complètement supprimée dans les futures versions.
Ce changement affecte la configuration 'handler'
dans config/session.php
.