
O que é o Swoft?
O Swoft é um framework de alto desempenho em microsserviços em PHP. Foi publicado por muitos anos e se tornou a melhor escolha para php. Pode ser como Go, servidor da web incorporado de corotina e cliente comum de corotina e é residente na memória, independentemente do PHP-FPM tradicional. Existem operações de idioma Go semelhantes, semelhantes às anotações flexíveis da estrutura Spring Cloud.
Através de três anos de acumulação e exploração de direção, a Swoft transformou a Swoft na Spring Cloud no mundo PHP, que é a melhor escolha para a estrutura de alto desempenho e gerenciamento de microsserviços do PHP.
Github
https://github.com/swoft-cloud/swoft
Swoft v2.0.7
O Swoft v2.0.7 continua navegando na v2.0.6 e foi usado em um grande número de operações de produção, as quais foram reconhecidas e suportadas por muitos usuários. A versão oficial fez muitas melhorias e otimizações, com melhor desempenho.
- Adicionado componente de função Http Session, fornece gerenciamento de sessões http, suporta vários drivers de armazenamento
- Suporte aprimorado à solicitação do servidor TCP para adicionar middleware de método global ou correspondente
- Suporte aprimorado da solicitação de mensagem do servidor Websocket para adicionar middleware de método global ou correspondente
Sessão HTTP
Instale o componente swoft / session com o Composer
- A execução do composer require swoft/sessionno diretório em que o projeto composer.json está localizado.
- Adicione o Swoft\Http\Session\SessionMiddlewareao middleware global
No app/bean.php :
  'httpDispatcher' => [  
O padrão é baseado em drivers de arquivos locais, salvos no diretório runtime/sessions
Mais informações sobre o driver precisam apenas configurar o handler correspondente.
Por exemplo, configure o driver Redis :
 'sessionHandler' => [ 'class' => RedisHandler::class,  
Middleware do sistema de mensagens Websocket
Configurado em app/bean.php :
   'wsMsgDispatcher' => [ 'middlewares' => [ \App\WebSocket\Middleware\GlobalWsMiddleware::class ], ], 
  class TestController {} 
Middleware de solicitação TCP
Configurado em app/bean.php :
   'tcpDispatcher' => [ 'middlewares' => [ \App\Tcp\Middleware\GlobalTcpMiddleware::class ], ], 
  class DemoController {  
Atualizar log
Dicas de atualização:
- Swoole\WebSocket\Server::pushO quarto parâmetro- $finishfoi alterado para int type após o swoole- 4.4.12.
- O parâmetro de evento TcpServerEvent::CONNECTdo servidor tcp permanece o mesmo que receber e fechar. Posições de swap de$fd, $server.
Github
https://github.com/swoft-cloud/swoft
Fixed :
- Ao corrigir a injeção de configuração, se o valor não for encontrado, o valor padrão do tipo correspondente será usado para substituir o atributo, fazendo com que o valor padrão do atributo seja substituído d84d50a7
- Corrigido ao usar o agendamento de mensagens no servidor ws, nenhum dado vazio foi filtrado, resultando em mais uma resposta. Evite o método swoft-cloud / swoft # 1002 [d84d50a7] ( https://github.com/swoft-cloud/swoft-component/ Pull / 522 / commits / d84d50a76c4c7ff19dc0896868745cfe8f0d93c9)
- Corrigido ao usar o agendamento de mensagens no servidor tcp, nenhum dado vazio foi filtrado, resultando em mais uma resposta. 07a01ba1
- Corrigidas as dependências ausentes da biblioteca swoft / stdlib ao usar o componente do console independentemente c569c81a
- Fixed ArrayHelper::getQuando a chave de entrada é um número inteiro, o parâmetro parâmetro está incorreto a44dcad
- Corrija a renderização do console usando a tabela, ao calcular o valor int, calcule o erro de tipo de relatório de largura 74a835ab
- O erro corrigido no usuário do componente não pode personalizar o nível de tratamento de erros padrão 4c78aeb
- Correção Ativar e desativar as configurações do componente isEnable()não funciona da8c51e56
- Correções O uso do método uniqid()no ambiente cygwin deve definir o segundo parâmetro como true c7f688f
- Corrigido Não foi possível definir o título do processo no ambiente cygwin e causar o erro c466f6a
- Corrigido Não foi possível excluir os dados do cookie do navegador usando a response->delCookie()8eb9241
- Corrigido o envio de mensagens do servidor WS, os dados ext recebidos não são necessariamente uma matriz que causa um erro ff45b35
- Corrigir arquivo de log dividido por tempo c195413
- Corrija o pequeno problema no formato JSONdo log a3fc6b9
- Corrigida a chamada getListprovedor de serviçosrpcduas vezes fd03e71
- O redis clusterfixar não suporta o parâmetro deauth7a678f
- Corrija o modelo jsonconsulta de modelo, não suporta aarray6023a9
- Rediscar operação multifixa não conectada no tempo e5f698
- A correção redis não suporta expireAt,geoRadius749241
- Corrigido o problema de desvio de detecção de carimbo de data / hora crontabeb08a46
Atualização (atualização) :
- O console de atualização também emite um evento antes de renderizar a mensagem de ajuda ConsoleEvent::SHOW_HELP_BEFOREd3f7bc3
- Simplifique e unifique a lógica de comando de gerenciamento de servidor http, ws, tcp, rpc f202c826
- Atualize as classes de conexão ws e tcp para adicionar os métodos toArrayetoArraypara facilitar a exportação de informações e a restauração de conexões via armazenamento de terceiros (redis) [a8b0b7c] ( https://github.com/swoft-cloud/swoft -component / pull / 528 / commits / a8b0b7c77d56d4392eba75d13a911816b9dc0cee)
- Otimize o servidor para adicionar um manipulador de eventos de mensagem unificado do swoole pipe, use o evento swowt em ws, tcp para manipular as mensagens entre processos 1c51a8c
Aprimoramento :
- Agora, as solicitações tcp suportam a adição de middleware de método global ou correspondente, e o processo e o uso são semelhantes ao http middleware. Útil apenas ao usar o agendamento do sistema 6b593877
- Agora, a solicitação de mensagem do websocket suporta a adição de middleware de método global ou correspondente, e o processo e o uso são semelhantes ao http middleware. Útil apenas ao usar o agendamento do sistema 9739815
- O Gerenciamento de Eventos permite que a configuração destroyAfterFirelimpe os dados transportados no evento após o envio de cada evento 50bf43d3
- O codeadicionado à exceção de erro do banco de dados retorna fd306f4
- Operação de arquivo da writeFileNova exceção de falha de gravação 08c4244
- Verificação de novo parâmetro RPC 8646fc5
Github
https://github.com/swoft-cloud/swoft