Guia de Atualização 1.4

Antes de atualizar, faça um backup e execute o seguinte comando para atualizar
composer require workerman/webman-framework ^1.4.7 && composer require webman/console ^1.2.12 && php webman install

Atenção
Se não conseguir atualizar, é muito provável que você esteja usando um proxy do composer. Use o seguinte comando composer config -g --unset repos.packagist para voltar a usar a fonte de dados oficial do composer.

Funcionalidades e Alterações

Plugins de Aplicativo

A versão 1.4 suporta plugins de aplicativo. Para mais informações, consulte Plugins de Aplicativo.

Roteamento Automático

A versão 1.4 suporta várias regras complexas de diretório para controladores, como por exemplo:

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

Isso significa que o plugin webman/auto-route não é mais necessário.

Alternância de Reutilização de Controlador

A versão 1.4 permite desativar a reutilização de controladores, configurando 'controller_reuse' => false, no config/app.php. Assim, cada requisição irá inicializar um novo controlador, ou seja, cada requisição irá acionar o construtor __construct() do controlador correspondente, permitindo que o desenvolvedor execute alguma inicialização antes do processamento da requisição em seu construtor.

Como é possível desativar a reutilização de controladores, o plugin webman/action-hook também não é mais necessário.

Ativação do Serviço HTTP

A versão 1.4 suporta a ativação de várias portas para fornecer serviços HTTP. Consulte Processamento de Negócios Lentos para mais informações.

Configuração de Arquivos de Visualização

A extensão só pode ser configurada na opção options do view.php.
Uso não mais suportado

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

Uso correto

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

Mudança no Namespace do Driver de Session

A partir da versão 1.4.0, o Webman alterou o namespace da classe SessionHandler, de:

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

para:

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

Para evitar que o programa apresente erros após a atualização, a classe Webman\FileSessionHandler ainda será mantida por um tempo, e será removida completamente em futuras versões.

Esta alteração afeta a configuração 'handler' no config/session.php.