Guide de mise à niveau vers 1.4

Effectuez une sauvegarde avant de procéder à la mise à niveau, exécutez la commande suivante pour mettre à niveau
composer require workerman/webman-framework ^1.4.7 && composer require webman/console ^1.2.12 && php webman install

Remarque
Si la mise à niveau échoue, il est probable que ce soit dû à l'utilisation d'un proxy composer. Utilisez la commande suivante composer config -g --unset repos.packagist pour restaurer l'utilisation de 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, veuillez consulter le plugin d'application

Routage automatique

La version 1.4 prend en charge diverses règles complexes de répertoires de contrôleurs, par exemple

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

En d'autres termes, le plugin webman/auto-route n'est plus nécessaire.

Commutateur de réutilisation des contrôleurs

La version 1.4 permet de désactiver la réutilisation des contrôleurs. Dans config/app.php, configurez 'controller_reuse' => false, afin que chaque requête initialise un nouveau contrôleur, c'est-à-dire que chaque requête déclenchera le constructeur __construct() du contrôleur correspondant. Les développeurs peuvent effectuer une initialisation avant le traitement de chaque requête dans le constructeur.

Étant donné qu'il est possible de désactiver la réutilisation des contrôleurs, le plugin webman/action-hook n'est plus nécessaire.

Démarrage du service HTTP

La version 1.4 prend en charge l'ouverture de plusieurs ports pour fournir des services HTTP.
Veuillez consulter Traitement des tâches lentes

Configuration des fichiers de vue

L'extension ne peut être configurée que dans les options de view.php.
Usage obsolète

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

Usage correct

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

Changement de namespace du pilote de session

À partir de la version 1.4.0, webman a modifié l'espace de noms de la classe SessionHandler de

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

à

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

Pour éviter les erreurs directes après la mise à niveau, la classe Webman\FileSessionHandler est toujours conservée pendant un certain temps et sera complètement supprimée dans les prochaines versions.

Ce changement impacte la configuration 'handler' de config/session.php.