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