Fluxo de Execução

Processo de Inicialização do Processo

Após executar php start.php start, o fluxo de execução é o seguinte:

  1. Carregar as configurações do diretório config/
  2. Definir as configurações relacionadas ao Worker, como pid_file, stdout_file, log_file, max_package_size, entre outras
  3. Criar o processo webman e escutar a porta (padrão 8787)
  4. Criar processos personalizados com base nas configurações
  5. Após a inicialização do processo webman e dos processos personalizados, a seguinte lógica é executada (tudo é executado em onWorkerStart):
    ① Carregar os arquivos definidos em config/autoload.php, como app/functions.php
    ② Carregar os middlewares definidos em config/middleware.php (incluindo config/plugin/*/*/middleware.php)
    ③ Executar o método start das classes definidas em config/bootstrap.php (incluindo config/plugin/*/*/bootstrap.php), usadas para inicializar alguns módulos, como a conexão com o banco de dados do Laravel
    ④ Carregar as rotas definidas em config/route.php (incluindo config/plugin/*/*/route.php)

Fluxo de Processamento de Solicitações

  1. Verificar se a URL da solicitação corresponde a um arquivo estático no diretório public. Se sim, retornar o arquivo (finalizar a solicitação); se não, ir para 2
  2. Determinar se a URL corresponde a uma rota específica. Se não corresponder, ir para 3; se corresponder, ir para 4
  3. Verificar se as rotas padrão estão desativadas. Se sim, retornar 404 (finalizar a solicitação); se não, ir para 4
  4. Encontrar os middlewares correspondentes ao controlador da solicitação e executar, na ordem, as operações de pré-processamento do middleware (fase de solicitação do modelo cebola), executar a lógica do negócio do controlador, e em seguida, executar as operações de pós-processamento do middleware (fase de resposta do modelo cebola). A solicitação é finalizada. (Consulte o Modelo de Cebola de Middleware)