Princípios de Programação

Sistemas Operacionais

O Webman suporta a execução tanto em sistemas Linux quanto em sistemas Windows. No entanto, como o Workerman não suporta configuração de múltiplos processos e processos em segundo plano no Windows, o uso do Windows é recomendado apenas para desenvolvimento e depuração. Para ambientes de produção, recomenda-se utilizar sistemas Linux.

Modo de Inicialização

Sistema Linux

php start.php start

Este comando é para o modo de depuração, geralmente utilizado durante o desenvolvimento. O processo monitor de atualização de arquivos detectará automaticamente mudanças e fará reload. Ao imprimir dados, as informações serão exibidas no terminal, e ao fechar o terminal, o Webman será fechado automaticamente.

php start.php start -d

Este comando é para o modo de processo em segundo plano, utilizado em ambientes de produção. Após fechar o terminal, o Webman continuará a executar, e a impressão de dados não será exibida no terminal. Para atualizar o código, é necessário executar php start.php reload ou php start.php restart -d.

Sistema Windows

Execute windows.bat ou utilize o comando php windows.php para iniciar, pressionando ctrl c para parar.
O sistema Windows não suporta os comandos stop, reload, status, reload connections, entre outros.
Windows não suporta o modo de processo em segundo plano.

Residência na Memória

O Webman é um framework que permanece na memória. Geralmente, após o carregamento do arquivo PHP, o mesmo permanece na memória em forma de opcode, não sendo lido novamente do disco (exceto arquivos de template). Portanto, após alterações no código do negócio ou na configuração em um ambiente de produção, é necessário executar php start.php reload para que as mudanças entrem em vigor. Se houver uma alteração relacionada ao processo ou a instalação de novos pacotes Composer, será necessário reiniciar com php start.php restart.

Para facilitar o desenvolvimento, o Webman vem com um processo monitor personalizado para monitorar atualizações de arquivos de negócio. Quando há atualizações em arquivos de negócios, o reload será executado automaticamente.
Essa funcionalidade é habilitada apenas quando o Workerman está rodando em modo de depuração (sem adicionar -d ao inicializar). Usuários do Windows precisam executar windows.bat ou php windows.php para habilitá-la.

Sobre Instruções de Saída

Em projetos tradicionais com PHP-FPM, funções como echo e var_dump exibem dados diretamente na página. No entanto, durante o desenvolvimento com Webman (quando inicializado em modo de depuração), essas saídas geralmente são mostradas no terminal e não aparecem na página (exceto as saídas em arquivos de template).

Não Execute exit ou die

Executar die ou exit fará com que o processo seja encerrado e reiniciado, resultando na incapacidade de responder corretamente à requisição atual.

Não Execute a Função pcntl_fork

pcntl_fork é utilizado para criar um processo, o que não é permitido no Webman.

Instalação de Componentes com Composer

Componentes instalados com composer require xxx/xxx necessitam de um restart para que as alterações entrem em vigor.