Guia de atualização 1.4

Faça backup antes de atualizar e execute o seguinte comando de atualização
composer require workerman/webman-framework ^1.4.7 && composer require webman/console ^1.2.12 && php webman install

Atenção
Se a atualização falhar, é provável que seja devido ao uso de um proxy do composer. Use o seguinte comando composer config -g --unset repos.packagist para restaurar o uso da fonte de dados oficial do composer.

Recursos e alterações

Plugins de aplicativos

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

Rota automática

A versão 1.4 suporta uma variedade de regras de diretórios de controladores complexos, por exemplo

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

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

Alternador de reutilização de controlador

A versão 1.4 permite desativar a reutilização de controladores, configurando 'controller_reuse' => false em config/app.php. Isso significa que cada solicitação irá inicializar um novo controlador, ou seja, cada solicitação acionará o construtor __construct() correspondente do controlador. Os desenvolvedores podem executar algum trabalho de inicialização antes do processamento de cada solicitação no construtor.

Como a reutilização de controladores pode ser desativada, o plugin webman/action-hook não é mais necessário.

Iniciar serviço HTTP

A versão 1.4 suporta a abertura de vários portos para fornecer serviços HTTP. Consulte Processamento de tarefas lentas.

Configuração de arquivos de visualização

O sufixo agora pode ser configurado apenas no arquivo view.php dentro das opções.
Uso não 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'
    ]
];

Alteração no namespace do driver de sessão

A partir da versão 1.4.0, o namespace da classe SessionHandler foi alterado 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 erros diretos após a atualização, a classe Webman\FileSessionHandler ainda é mantida por um tempo e será completamente removida em futuras versões.

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