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çãoPSR-0
. - Edite o arquivo
composer.json
e 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 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 sobautoload.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 emautoload.files
no composer.json serão carregados antes da inicialização do webman. Já os arquivos carregados através deconfig/autoload.php
da framework são carregados após a inicialização do webman.
As alterações nos arquivos carregados viaautoload.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 deconfig/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 queautoload.php
configura o carregamento dos arquivossupport/Request.php
esupport/Response.php
. Isso ocorre porque existem dois arquivos iguais na pastavendor/workerman/webman-framework/src/support/
. Carregamos preferencialmente os arquivossupport/Request.php
esupport/Response.php
do 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.