Autoload

Carregando arquivos padrão PSR-0 com composer

O webman segue a especificação de autoload PSR-4. Se o seu projeto precisar carregar bibliotecas que seguem a especificação PSR-0, consulte as seguintes etapas.

  • Crie o diretório extend para armazenar as bibliotecas que seguem a especificação PSR-0.
  • Edite o arquivo composer.json e adicione o seguinte conteúdo sob a chave autoload.
"psr-0" : {
    "": "extend/"
}

O resultado final será algo parecido com

  • Execute composer dumpautoload.
  • Execute php start.php restart para reiniciar o webman (atenção, é necessário reiniciar para que as alterações tenham efeito).

Carregando alguns arquivos com composer

  • Edite o arquivo composer.json e adicione os arquivos a serem carregados sob autoload.files.

    "files": [
    "./support/helpers.php",
    "./app/helpers.php"
    ]
  • Execute composer dumpautoload.

  • Execute php start.php restart para reiniciar o webman (atenção, é necessário reiniciar para que as alterações tenham efeito).

Dica
Os arquivos configurados em autoload.files no composer.json serão carregados antes da inicialização do webman. Já os arquivos carregados através de config/autoload.php da framework são carregados após a inicialização do webman.
As alterações nos arquivos carregados via autoload.files no composer.json exigem um restart para entrar em vigor, enquanto o reload não tem efeito. Por outro lado, os arquivos carregados através de config/autoload.php suportam recarregamento ao vivo; alterações feitas obrigam apenas um reload para as mudanças entrarem em vigor.

Carregando alguns arquivos pela framework

Alguns arquivos podem não estar em conformidade com a especificação SPR e não podem ser carregados automaticamente. Podemos carregar esses arquivos configurando config/autoload.php, por exemplo:

return [
    'files' => [
        base_path() . '/app/functions.php',
        base_path() . '/support/Request.php', 
        base_path() . '/support/Response.php',
    ]
];

Dica
Observamos que autoload.php configura o carregamento dos arquivos support/Request.php e support/Response.php. Isso ocorre porque existem dois arquivos iguais na pasta vendor/workerman/webman-framework/src/support/. Carregamos preferencialmente os arquivos support/Request.php e support/Response.php do diretório raiz do projeto, permitindo que possamos personalizar o conteúdo desses arquivos sem modificar os arquivos na pasta vendor. Se você não precisar personalizá-los, pode ignorar essas duas configurações.