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
extendpara armazenar as bibliotecas que seguem a especificaçãoPSR-0. - Edite o arquivo
composer.jsone adicione o seguinte conteúdo sob a chaveautoload.
"psr-0" : {
"": "extend/"
}
O resultado final será algo parecido com

- Execute
composer dumpautoload. - Execute
php start.php restartpara reiniciar o webman (atenção, é necessário reiniciar para que as alterações tenham efeito).
Carregando alguns arquivos com composer
-
Edite o arquivo
composer.jsone adicione os arquivos a serem carregados sobautoload.files."files": [ "./support/helpers.php", "./app/helpers.php" ] -
Execute
composer dumpautoload. -
Execute
php start.php restartpara reiniciar o webman (atenção, é necessário reiniciar para que as alterações tenham efeito).
Dica
Os arquivos configurados emautoload.filesno composer.json serão carregados antes da inicialização do webman. Já os arquivos carregados através deconfig/autoload.phpda framework são carregados após a inicialização do webman.
As alterações nos arquivos carregados viaautoload.filesno composer.json exigem um restart para entrar em vigor, enquanto o reload não tem efeito. Por outro lado, os arquivos carregados através deconfig/autoload.phpsuportam 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 queautoload.phpconfigura o carregamento dos arquivossupport/Request.phpesupport/Response.php. Isso ocorre porque existem dois arquivos iguais na pastavendor/workerman/webman-framework/src/support/. Carregamos preferencialmente os arquivossupport/Request.phpesupport/Response.phpdo diretório raiz do projeto, permitindo que possamos personalizar o conteúdo desses arquivos sem modificar os arquivos na pastavendor. Se você não precisar personalizá-los, pode ignorar essas duas configurações.