1.4 Guida all'aggiornamento

Prima di aggiornare, si prega di eseguire un backup e di eseguire il seguente comando per l'aggiornamento
composer require workerman/webman-framework ^1.4.7 && composer require webman/console ^1.2.12 && php webman install

Attenzione
Se non riesci ad aggiornare, è molto probabile che tu stia utilizzando un proxy di composer. Si prega di utilizzare il seguente comando composer config -g --unset repos.packagist per ripristinare l'uso della sorgente dati ufficiale di composer.

Funzionalità e modifiche

Plugin dell'applicazione

La versione 1.4 supporta i plugin per le applicazioni. Per maggiori dettagli, consultare Plugin dell'applicazione.

Routing automatico

La versione 1.4 supporta varie regole complesse per le directory dei controller. Ad esempio:

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

Ciò significa che il plugin webman/auto-route non è più necessario.

Interruttore per il riutilizzo del controller

La versione 1.4 consente di disabilitare il riutilizzo del controller. In config/app.php, impostare 'controller_reuse' => false, in modo tale che ogni richiesta inizializzi un nuovo controller. In altre parole, ogni richiesta attiverà il costruttore corrispondente __construct() del controller. Gli sviluppatori possono eseguire alcune operazioni di inizializzazione prima della gestione delle richieste nel costruttore.

Poiché è possibile disabilitare il riutilizzo del controller, il plugin webman/action-hook non è più necessario.

Abilitare il servizio HTTP

La versione 1.4 supporta l'apertura di più porte per fornire servizi HTTP.
Si veda Gestione delle operazioni lente.

Configurazione dei file di vista

Le estensioni possono essere configurate solo nell'opzione options di view.php.
Uso non più supportato

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

Uso corretto

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

Modifica del namespace del driver session

A partire dalla versione 1.4.0, webman ha cambiato il namespace della classe SessionHandler, passando da:

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

a:

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

Per evitare che l'aggiornamento generi errori diretti nel programma, la classe Webman\FileSessionHandler rimarrà disponibile per un certo periodo; sarà completamente rimossa in future versioni.

Questa modifica influisce sulla configurazione 'handler' in config/session.php.