
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/session
no diretório em que o projeto composer.json está localizado. - Adicione o
Swoft\Http\Session\SessionMiddleware
ao 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::push
O quarto parâmetro $finish
foi alterado para int type após o swoole 4.4.12
.- O parâmetro de evento
TcpServerEvent::CONNECT
do 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::get
Quando 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
JSON
do log a3fc6b9 - Corrigida a chamada
getList
provedor de serviços rpc
duas vezes fd03e71 - O
redis cluster
fixar não suporta o parâmetro de auth
7a678f - Corrija o modelo
json
consulta de modelo, não suporta a array
6023a9 - Rediscar operação
multi
fixa não conectada no tempo e5f698 - A correção redis não suporta
expireAt
, geoRadius
749241 - Corrigido o problema de desvio de detecção de carimbo de data / hora
crontab
eb08a46
Atualização (atualização) :
- O console de atualização também emite um evento antes de renderizar a mensagem de ajuda
ConsoleEvent::SHOW_HELP_BEFORE
d3f7bc3 - 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
toArray
e toArray
para 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
destroyAfterFire
limpe os dados transportados no evento após o envio de cada evento 50bf43d3 - O
code
adicionado à exceção de erro do banco de dados retorna fd306f4 - Operação de arquivo da
writeFile
Nova exceção de falha de gravação 08c4244 - Verificação de novo parâmetro RPC 8646fc5
Github
https://github.com/swoft-cloud/swoft