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 comandocomposer 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
.